/** * @param string $name * @param mixed[] $arguments * @return mixed * */ public function __call($name, $arguments) { $attr = substr($name, 3); $attr[0] = strtolower($attr[0]); switch (substr($name, 0, 3)) { case 'get': return $this->{$attr}; break; case 'set': $this->{$attr} = $arguments; break; default: parent::__call($name, $arguments); break; } }
/** * Intercepta chamada a método inexistente e redireciona para funcionalidades pre-definidas. * * @param string $name * @param string[] $arguments * @return ModelAbstract * */ public function __call($name, array $arguments = array()) { # registra ordenacao de pesquisa if ('orderByList' == $name) { $this->_registerOrderByList($arguments); } elseif ('orderBy' == substr($name, 0, 7)) { $this->_registerOrderBy(substr($name, 7), current($arguments)); } else { parent::__call($name, $arguments); } return $this; }