我正在嘗試下面的腳本,但它似乎沒有拿起處理的新值bt __set
我正在嘗試通過this閱讀文章以獲得OOP工作方式,直到magento 。有什麼遺漏嗎?setter將不會獲得新的getters值
class MyClass{
public $name = "Mike";
private function __setProperty($newval){
$this->name = $newval;
}
public function __getProperty(){
return $this->name;
}
}
$obj = new MyClass;
//var_dump($obj);
echo $obj->name;
$obj->getProperty("Angela");
echo $obj->getProperty();
該教程你說你是從學習,明確規定了' setProperty' ...'$ obj = new MyClass; echo $ obj-> getProperty(); //獲取屬性值 $ obj-> setProperty(「我是一個新的屬性值!」); //設置一個新的 echo $ obj-> getProperty(); //再次讀出來顯示更改。您正在使用'getProperty'。您沒有按照該教程*「對T」*。 –
防止聲明以'__'開頭的方法名稱。它們通常被保留用於PHP魔法方法。您在這裏使用的用法與'__set'和'__get'根本沒有關係。 – SOFe
你使用'__'方法很奇怪(和錯誤的'__'前綴方法往往是魔術方法)。二傳手永遠不會被調用(並聲明爲私有)。在任何時候,你實際上設置的財產... –