2

私は学校のプロジェクトに取り組んでいます(6月の締め切り。十分な時間が与えられています^^)。

現在、conf.phpにデータベースがあり(他のすべての.phpにはこれが含まれています。mysqli-objectを参照する変数があります)、「global$db_conn;」を介してクラスのすべてのメソッドのデータベースにアクセスしています。 "。問題は、class.phpだけを開くと、conf.phpが含まれておらず、エラーがスローされることです。そこで、すべてのオブジェクトでmysqli-Objectのプライベートインスタンス/静的変数を追加することを考えました。これは機能していません(予期しないT_NEW):

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

db-connectionsをどのように処理しますか?この特定の問題をどのように処理しますか?

よろしくお願いします^^

4

2 に答える 2

0

include_once他のファイルとクラス ファイルの両方で conf.php ファイルを使用できます。そうすれば、常にコンテンツ(およびデータベース参照)を取得できます。

于 2013-03-08T15:28:46.367 に答える
-1

db接続をシングルトンクラスにし__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 に答える