public function __call($method, $arguments) { if (strpos($method, 'set') === 0) { $property = substr($method, 3); if (isset($this->coordinates[$property])) { return call_user_func_array([$this, '__set'], array_merge([$property], $arguments)); } } return parent::__call($method, $arguments); }