PHP类变量问题

时间:2009-11-02 21:04:03

标签: php html class

我有这堂课:

class TestClass
{
    var $testvar;
    public function __construct()
    {
        $this->$testvar = "Hullo";
        echo($this->$testvar);
    }
}

这种访问方法:

function getCurrent()
{
    $gen = new TestClass();
}

我收到以下错误:

  

注意:未定义的变量:第28行的/Users/myuser/Sites/codebase/functions.php中的testvar
  致命错误:无法访问第28行/Users/myuser/Sites/codebase/functions.php中的空属性

发生了什么事?

3 个答案:

答案 0 :(得分:6)

访问变量时不需要使用变量引用:

$this->testvar;

通过使用$this->$testvar,您的PHP脚本将首先查找$testvar,然后在您的类中按该名称查找变量。即。

$testvar = 'myvar';
$this->$testvar == $this->myvar;

答案 1 :(得分:3)

在调用它之前删除testvar之前的$:

$this->testvar = "Hullo";
echo($this->testvar); 

答案 2 :(得分:2)

由于 var 已被弃用,我建议将其声明为私有,公开或受保护。

class TestClass
{
    protected $testvar;
    public function __construct()
    {
        $this->testvar = "Hullo";
        echo $this->testvar;
    }
}