2012-11-19 141 views
0

我想在类中声明一个私有变量,我希望在我的所有类中都可以访问,而不必将其传递给另一个使用参数的函数。我有以下情形对象属性范围

class One extends CI_Controller { 
    private $name; 
    public function index() { 
     $name = $this->input->post('name'); 
     $this->validate(); 
    } 

    public function validate() { 
     echo $name; 
    } 
} 

但我上面的$ name变量给了我一个错误说variable $name is undefined

如果是的话,那么PHP中的上述可能性如何呢?

+1

在功能上应该使用$这 - >名 – Kotzilla

+0

http://php.net/language.oop5.properties – hakre

回答

5

只使用$name是仅在函数范围内的局部变量。

如果您使用$this->name,则可以访问控制器的私有属性。

请参阅PropertiesDocs

2

当您在类中声明变量时,必须使用$this->来调用它。

因此,你怎么称呼它的方法中的方法是使用$this->name代替$name