构造函数中的未定义变量

时间:2014-02-25 20:33:46

标签: php scope visibility

我认为这可能是一个变量范围的简单问题,但我对这个问题所处的位置感到困惑。给出以下代码行

class mysqlaccess {

private $creds;
private $error;
protected $con;
public $dir;

public function __construct () {
        $this->$dir = "../../../../../private/mysqlinfo.ini";
    }

}

当我尝试从其他文件中引用此公共变量时,如此

include_once ('mysqlaccess.php');

$s = new mysqlaccess();

echo $s->dir;

我收到以下错误

未定义的变量目录

和 无法访问空房产

我的理解是这就是构造函数应该如何工作的。我错过了什么吗?

3 个答案:

答案 0 :(得分:2)

您需要:$this->dir而不是$this->$dir

答案 1 :(得分:2)

here为例。

你必须使用它(不含$):

 $this->dir

答案 2 :(得分:2)

错字在这里 -

$this->$dir = "..
       ^

应该是

$this->dir = "..