php数据库基类class DataBase
{
    //主机地址、用户名、密码、数据库名、字符编码等等    public function __construct($param)
    {
        
    }    public function insertData($table, $data)
    {    }    public function updateData($table, $data, $where = '')
    {    }    public function deleteData($tabel, $where = '')
    {    }    public function fetchRow($table, $where = '')
    {    }    //
    …………
}大家用数据库基类是怎么用啊,我一直是实例化它,就像下面$db = new DataBase($param);class Model
{
    function addModel($data)
    {
        global $db;
        $db->isnertData('model', $data);
    }    //other function
    …………
}
今天看到有的地方直接继承数据库基类,就像下面class Model extends DataBase
{
    fucntion addModel($data)
    {
        $this->insertData('model', $data);
    }    //other function
    …………
}大家一般怎么用啊,那样更好啊

解决方案 »

  1.   

    个人感觉没有那种好 适合不适合而已
    如果你的其它模块都继承Model类 明显第二种好 
      

  2.   

    我的是两种混合,因为太复杂了http://code.google.com/p/queryphp/downloads/list
      

  3.   


    class Model
    {
        private $db;
        public function __construct($param)
        {
           $this->db = new DataBase($param);
        }
        public function addModel($data)
        {
            $this->db->insertData('model', $data);
        }    //other function
        …………
    }//我喜欢这样
      

  4.   

    我这model不是一个抽象的model,而是一个具体的模型类,只不过起了个model的名字,其实完全可以叫Article或Channel
      

  5.   

    我尽量用单件模式,
    任何地方,DB::getInstance() 即可,
    为方便,当然也可以在__contruct 里写$this->db=Db::getInstance();
    第一种的不好是global,尽量避免
    第二种的不好是继承了db类就不能继承别的类了.