无法通过PHP名称调用__construct()变量

时间:2015-07-20 02:17:30

标签: php

我真的开始关注PHP类了,我无法理解为什么这不起作用。我想如果你在构造函数中定义一个变量,你可以通过该变量名称来调用它。但情况并非如此(?),让我举一个例子:

class test {

    public function __construct($item) {

        $this->item= $anItem;

    }

    public function callvar() {

        //Does not work
        return $anItem;

    }

    public function callvar() {

        //Works
        return $this->item;

    }

}

所以我的问题是,我做错了吗?或者您必须通过__construct调用$this->item变量吗?

1 个答案:

答案 0 :(得分:1)

$ anItem 是构造函数中的局部变量,因此它不是另一个方法的变量。但 $ this-> item 测试类的属性,因此测试类中的每个方法都可以将此属性作为全局变量访问