我最近开始使用PHP面向对象,但我似乎无法完成这项工作。在一个方法中,我声明了一个我想在另一个方法中使用的属性,但是我收到一个错误:未定义的属性:Database :: $ test 。
class Database {
public function connect() {
$connection = 'hoi';
}
public function disconnect() {
echo $this->connection;
}
}
$db = new Database();
$db->connect();
$db->disconnect();
同样,我是OOP的新手。我尝试使用全局,考虑到函数的范围,这在常规函数中是有意义的,但是当我使用它时,我只是得到了另一个错误。
答案 0 :(得分:7)
您已将连接声明为变量,而不是属性。这就是你想要的。
class Database {
private $connection;
public function connect() {
$this->connection = 'hoi';
}
public function disconnect() {
echo $this->connection;
}
}
答案 1 :(得分:5)
public function connect() {
$connection = 'hoi';
}
只是定义一个局部变量,而不是作为对象中的属性赋值。它应该是:
$this->connection = 'hoi';