Maybe strange question, but... I have a magic __call method, that return instances of certain classes, or, if there are no such class, calls same method in underlying object.
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 { // ???? } }
But what to do in else block? Can I simulate undefined method error? Or what exception to throw would be correct?
You can trigger PHP errors manually using trigger_error
:
trigger_error('Call to undefined method '.__CLASS__.'::'.$name.'()', E_USER_ERROR);
See http://php.net/manual/en/function.trigger-error.php
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With