Sto lavorando con funzioni anonime in cui sto creando una funzione anonima al di fuori dell'oggetto, e quindi aggiungendolo a un oggetto successivo in cui verrà utilizzato con la magia __callStatic funzione. Le chiusure che vengono aggiunte per contenere metodi della classe genitore. Mi chiedo se sarei in grado di chiamare questi metodi dalla chiusura?Funzione anonima/Chiusura e utilizzo di self :: o static ::
Proprio ora ottengo questo errore:
EmptyObject::addMethod('open', function(){
if (static::_hasAdapter(get_class(), __FUNCTION__))
return self::_callAdapter(get_class(), __FUNCTION__, $details);
echo '<p>You have mail!</p>';
});
tiri questo errore:
Fatal error: Cannot access static:: when no class scope is active in
E
//Add the functions
EmptyObject::addMethod('open', function(){
if (EmptyObject::_hasAdapter('EmptyObject', __FUNCTION__))
return EmptyObject::_callAdapter('EmptyObject', __FUNCTION__, $details);
echo '<p>You have mail!</p>';
});
gettare questo errore perché il metodo è protetto
Fatal error: Uncaught exception 'BadMethodCallException' with message 'Method '_hasAdapter' was not found in class EmptyObject'
Vecchio php .. In 5.5.9 posso vedere 'statica ::' in funzione anonima –