PHP如何使用另一个方法声明的属性?

Tom*_*Tom 1 php oop

我最近开始使用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的新手.我尝试使用具有函数范围的全局,这在常规函数中是有意义的,但是当我使用它时我只是得到另一个错误.

meg*_*lop 7

您已将连接声明为变量,而不是属性.这就是你想要的.

class Database {

    private $connection;

    public function connect() {
        $this->connection = 'hoi';
    }

    public function disconnect() {
        echo $this->connection;
    }

}
Run Code Online (Sandbox Code Playgroud)

阅读有关类和对象PHP.net文档.

  • php.net上有一个非常好的教程:http://www.php.net/manual/en/language.oop5.properties.php (2认同)

Mar*_*c B 5

public function connect() {
    $connection = 'hoi';
}
Run Code Online (Sandbox Code Playgroud)

只是定义一个局部变量,而不是作为对象中的属性赋值.它应该是:

    $this->connection = 'hoi';
Run Code Online (Sandbox Code Playgroud)