Estoy trabajando con funciones anónimas donde estoy creando una función anónima fuera del objeto, y luego la agrego a un objeto más tarde en el que se usará con magia __callStatic función. Los cierres que se agregan contienen métodos de la clase principal. Me pregunto si podría llamar a esos métodos desde el cierre.Anónimo Función/Cierre y uso de uno mismo :: o estático ::
En este momento me sale este error:
EmptyObject::addMethod('open', function(){
if (static::_hasAdapter(get_class(), __FUNCTION__))
return self::_callAdapter(get_class(), __FUNCTION__, $details);
echo '<p>You have mail!</p>';
});
tiros este error:
Fatal error: Cannot access static:: when no class scope is active in
Y
//Add the functions
EmptyObject::addMethod('open', function(){
if (EmptyObject::_hasAdapter('EmptyObject', __FUNCTION__))
return EmptyObject::_callAdapter('EmptyObject', __FUNCTION__, $details);
echo '<p>You have mail!</p>';
});
tiro este error porque el método está protegido
Fatal error: Uncaught exception 'BadMethodCallException' with message 'Method '_hasAdapter' was not found in class EmptyObject'
Antiguo php .. En 5.5.9 puedo ver 'estática ::' en función anónima –