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