2013-06-02 41 views
23

也許奇怪的問題,但... 我有一個神奇的__call方法,返回某些類的實例,或者,如果沒有這樣的類,調用底層對象中的相同方法。如何模擬__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 { 
     // ???? 
    } 
} 

但是在其他塊中該做什麼?我可以模擬未定義的方法錯誤嗎?或者拋出什麼異常會是正確的?

回答

相關問題