Cita:
Nota: Usualmente, la pseudo-variable $this no es definida si el método en el que se encuentra es llamado estáticamente. Sin embargo, esta no es una regla estricta: $this se define si un método es llamado estáticamente desde el interior de otro objeto. En este caso, el valor de $this es aquél del objeto que hace la llamada. Esto se ilustra en el siguiente ejemplo:
Código:
No entiendo varias cosas: No sé qué es eso de llamar estáticamente a un método, no sé a qué se refiere isset($this) porque isset lo conozco relacionado con el envío de datos por POST, pero en este contexto no sé a qué se refiere. No sé qué son esos dos puntos más dos puntos A:: foo(). Se supone que estoy empezando a leer sobre programación orientada a objetos por el principio, pero veo cosas que no entiendo. A lo mejor conocéis un tutorial que sea mejor para empezar. <?php class A { function foo() { if (isset($this)) { echo '$this se define ('; echo get_class($this); echo ")\n"; } else { echo "\$this no se define.\n"; } } } class B { function bar() { A::foo(); } }