Salve a tutti, ho cercato ovunque ma non trovo soluzione al problema, spero voi possiate aiutarmi!

Ho un metodo in una classe padre che usa i metodi delle classi figlie per settare le informazioni:
Codice PHP:
protected function _setInfo(array $info)
{
    foreach(
$info as $key => $value)
    {
        
$method 'set' $this->_normalizeInfoName($key);
        if(
method_exists($this$method))
        {                
            
$this->$method($value);
        }
    }
    return 
$this;

_normalizeInfoName($key) è semplicemente un metodo che trasforma il nome passato come parametro per poterlo utilizzare come metodo.
Ad esempio:
Codice PHP:
$info = array('email' => 'prova@email.com'); 
$metod sarà 'setEmail' e $value 'prova@email.com'.

Dovrebbe funzionare (la classe derivata la uso io stesso e vi assicuro che setEmail esiste... ), ma invece mi solleva un Internal Server Error (il codice credo sia 500).

Altre informazioni che vi potrebbero essere utili sono:
Utilizzo Zend Framework, con Zend_Application e tutto il resto.
Ho provato mille altri modi per fare la stessa cosa: con le parentesi graffe $this->{$method}($value); con call_user_func; con il reflectionMethod::invoke; mi da lo stesso errore in tutti i casi.
is_callable mi restituisce false con array($this, $method).

Se avete bisogno di altre informazioni chiedetemi.
Grazie in anticipo a tutti!