只是想知道一個匿名函數,爲什麼這樣的事情不工作:聲明中的新stdClass的
public function address($name){
if(!isset($this->addresses[$name])){
$address = new stdClass();
$address->city = function($class = '', $style = ''){
return $class;
};
$this->addresses[$name] = $address;
}
return $this->addresses[$name];
}
調用它像echo $class->address('name')->city('Class')
應該只是附和Class
,但是我得到Fatal error: Call to undefined method stdClass::city()
我能找到一個更好的這樣做的方式,因爲這會變得混亂,但我想知道我可能在那裏做錯了,或者如果PHP不支持這個,爲什麼。