Может быть, странный вопрос, но... У меня есть волшебный метод __call, возвращающий экземпляры определенных классов или, если такого класса нет, вызывает тот же метод в базовом объекте.
public function __call($name, $arguments)
{
$class = 'My\\Namespace\\' . $name;
if (class_exists($class, true)) {
$reflect = new \ReflectionClass($class);
return $reflect->newInstanceArgs($arguments);
} elseif (is_callable([$this->connector, $name])) {
return call_user_func_array([&$this->connector, $name], $arguments);
} else {
// ????
}
}
Но что делать дальше? Могу ли я имитировать неопределенную ошибку метода? Или какое исключение для броска было бы правильным?