1

我有一个名为 DB 的类,它是一个 PDO 数据库包装器。它具有为表选择、更新、插入和删除记录的功能。

class db {

    public $conn; //PDO

    public function __construct()
    {...
    }

    public function select($table, $fields = '*' , $where = '1=1', $params = array()) { 
        ....
    }
}

我通过这种方法在另一个类中访问这个类的函数:

class MyAPI extends API
{
public $db;
public function __construct($request) {

    parent::__construct($request);
    $this->db = new db();   

}
public function dosomething()
{
    $this->db->select(...);
}
}

这是正确的方法吗?我的意思是在主类中创建一个 db 类的对象并访问它。就面向对象编程而言,这可以以更好的方式完成吗?

4

1 回答 1

0

我强烈推荐使用。

public static function getInstance(){
    if(!isset(self::$_instance)){
        self::$_instance = new DB();
        echo "Connected";
    }
    return self::$_instance;
}

$this->db = DB::getInstance();

这样您就不会多次实例化 DB 类。这将提高代码的效率。并减少数据库的负载,因为您只连接一次。

于 2015-01-08T22:20:31.017 回答