2

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

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

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

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

提前谢谢^^

4

2 回答 2

0

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

于 2013-03-08T15:28:46.367 回答
-1

如果您将 db 连接设置为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();
  }
}
于 2013-03-08T15:38:12.670 回答