PHP:类或全局中的数据库连接

时间:2013-03-08 15:26:28

标签: php database class

我正在为一所学校的项目工作(六月截止日期;给予充足的时间^^)。

目前conf.php中有一个数据库(每隔一个.php包含一个;它有一个引用mysqli对象的变量),我通过“global”访问每个类的方法中的数据库$ db_conn;”。 问题是,如果我只打开class.php,它不包括conf.php,它会抛出错误。所以我想到为每个对象添加mysqli-Object的私有实例/静态变量。 这不起作用(意外的T_NEW):

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

如何处理数据库连接? 你会如何处理这个具体问题?

提前致谢^^

2 个答案:

答案 0 :(得分:0)

您可以在其他文件和类文件中使用include_once conf.php文件。这样你总是有内容(和db引用)。

答案 1 :(得分:-1)

如果你的数据库连接是Singleton你有一个__autoload()函数,那么你可以在你设置的每个类中都有一个dbconnection属性施工期间。

e.g。

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();
  }
}
相关问题