2012-11-19 137 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