2013-06-02 14 views
23

Forse una domanda strana, ma ... Ho un metodo magico __call, che restituisce istanze di certe classi, o, se non ci sono tali classi, chiama lo stesso metodo nell'oggetto sottostante.Come simulare l'errore del metodo non esistente in __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 { 
     // ???? 
    } 
} 

Ma che fare in altro blocco? Posso simulare l'errore del metodo non definito? O quale eccezione per lanciare sarebbe corretta?

risposta

Problemi correlati