Tengo una clase Logger
que, entre otras cosas, tiene un método Log
.
Como Log
es el uso más común de la Logger
ejemplo, tengo cable __invoke
llamar Log
Objeto llamable de PHP como miembro de objeto
Otra clase, "Sitio" contiene un miembro de "registro", una instancia del Registrador.
¿Por qué este trabajo:
$Log = $this->Log;
$Log("Message");
Pero no esto:
$this->Log("Message");
El primero falla con "error fatal de PHP: Llamada a indefinido Sitio método :: Log()" ¿Es
esto es una limitación de la implementación del objeto invocable, o estoy malentendiendo algo?
Principalmente debido a la escritura suelta. No hay forma de inferir realmente lo que podría querer decir, por lo que de manera predeterminada se trata de errores al principio. –
He escrito un pre-examinador impar que permite escribir tales expresiones: http://code.google.com/p/php-preparser/ :) (¿Puedo "publicitar" mis soluciones de código abierto aquí?) –
Este ejemplo ya no es relevante, esta sintaxis funciona ahora. –