我正在为学校做一个项目(截止日期为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();
}
}