如何在另一个文件中访问连接变量


how to access connection variable with in another file

可能的重复项:
用于数据库连接的全局还是单例?

我在数据库中有一个数据库类.php然后在同一个文件上创建一个对象; $database = new Database(); 然后我将这个文件包含在另一个文件中 - 这个文件在类Test中有一个名为 Test 的类,它有一个方法 test_me .在test_me方法中,我想访问数据库类$connection变量。 我该怎么做?

这是我尝试过的;

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

这给了我一个错误undefined variable $connection. 知道我做错了什么吗?

如果将$connection声明为全局变量,则代码没问题。

但最好避免使用全局变量。可以在 Test 类中设置连接。

一个例子是:

class Test {
  protected $connection;
  public function setConnection($connection) {
    $this->connection = $connection;
  }
  function test_me () {
    // use $this->connection.
    //...
  }
}

有几种方法可以实现这一点,简单的东西应该是这样的

function test_me()
{
    global $database;
    echo $database->connection; // or do whatever you want with it
}