2015-07-20 65 views
1

我真的開始看PHP類,我不明白爲什麼這不起作用。我想如果你在構造函數中定義一個變量,你可以通過這個變量名來調用它。雖然這不是(?),讓我給你舉個例子:無法在PHP中通過他們的名稱調用__construct()變量

class test { 

    public function __construct($item) { 

     $this->item= $anItem; 

    } 

    public function callvar() { 

     //Does not work 
     return $anItem; 

    } 

    public function callvar() { 

     //Works 
     return $this->item; 

    } 

} 

所以我的問題是,我做錯了什麼?或者您必須致電變量$this->item

回答

1

$ anItem是構造函數中的局部變量,所以它不是另一種方法的變量。但$這個 - >項目測試類的屬性使得測試類每個方法都可以訪問這個屬性爲全局變量

+0

嗯,所以沒有其他訪問'__contruct()'使用'$ this-> item'之外的其他變量? –

+0

個人而言,我總是在__contruct()函數中分配類屬性。例如:__contruct($ p1,$ p2)用於$ this-> p1,$ this-> p2。然後其他人使用$ this-> p1,$ this-> p2。 __contruct()只是一種方法 –

+0

嗯,這就是我一直在做的事情。我只是想知道是否有辦法縮短它:)謝謝 –

相關問題