可能的重复项:
用于数据库连接的全局还是单例?
我在数据库中有一个数据库类.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
}