我想知道为什么这样的代码不起作用:
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不支持这种写法并且原因是什么。