-1

重複の可能性:
データベース接続のグローバルまたはシングルトン?

database.php にデータベース クラスがあり、同じファイルにオブジェクトを作成します。 $database = new Database(); 次に、このファイルを別のファイルに含めます。このファイルには、クラスTest内に呼び出されるクラスTestがあり、メソッドがありtest_meます。test_me メソッド内で、Database クラスの $connection 変数にアクセスしたいと考えています。これどうやってするの?

これは私が試したことです。

function test_me(){
  global $connection;
  //use $connection on another function..
}

これは私にエラーを与えますundefined variable $connection。私が間違っていることは何ですか?

4

2 に答える 2

2

グローバル変数を宣言$connectionする場合、コードは問題ありません。

ただし、グローバル変数の使用は避けたほうがよいでしょう。Test クラスで接続を設定できます。

例は次のとおりです。

class Test {

  protected $connection;

  public function setConnection($connection) {
    $this->connection = $connection;
  }

  function test_me () {
    // use $this->connection.
    //...
  }
}
于 2012-06-17T05:51:19.480 に答える
0

これを達成するにはいくつかの方法がありますが、簡単なものは次のようになります

function test_me()
{
    global $database;

    echo $database->connection; // or do whatever you want with it
}
于 2012-06-17T05:50:25.697 に答える