Просто интересно, почему что-то подобное не работает:
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 не поддерживает это и почему.