PHP:类或全局数据库连接


PHP: Database-Connection in Class or global

我正在为学校做一个项目(截止日期为6月;有充足的时间^^(。

目前,conf.php中有一个数据库(每隔一个.php都包括这个数据库;它有一个引用mysqli对象的变量(,我正在通过"global$db_conn;"访问类的每个方法中的数据库。问题是,如果我只打开class.php,它不包括conf.php,并且会抛出错误。因此,我考虑为带有EVERY对象的mysqli对象添加一个私有实例/静态变量。这不起作用(意外T_NEW(:

class foo{
    private static $db_conn = new mysqli("", "", "", "");
}

如何处理数据库连接?你将如何处理这个特定的问题?

提前感谢^^

您可以在其他文件和类文件中使用include_once conf.php文件。通过这种方式,您总是有内容(和数据库引用(。

如果您将数据库连接设为Singleton类,并且您有一个__autoload()函数,那么您可以在每个类中都有一个dbconnection属性,该属性是在构造过程中设置的。

例如

class DBConnection{
  private static $instance;
  private function __construct(){
    //make your db connnection
  }
  public static function get_connection(){
    if(empty self::$instance) self::$instance = new DBConnection;
    return self::$instance;
  }
}
class Foo {
  private $db;
  function __construct(){
    $this->db=DBConnection::get_connection();
  }
}