| Atenci贸n |
Lo siguiente es v谩lido 煤nicamente para PHP 4 y versiones posteriores. |
Algunas veces es 煤til referirse a funciones y variables en clases base o referirse a funciones en clases que no tienen aun alguna instancia. El operador :: es usado en tales casos.
<?php |
El ejemplo anterior llama la funci贸n ejemplo() en la clase A, pero no hay un objeto de la clase A, as铆 que no podemos escribir $a->ejemplo() o algo semejante. En su lugar llamamos ejemplo() como una 'funci贸n de clase', es decir, una funci贸n de la clase misma, no de un objeto de tal clase.
Existen funciones de clase, pero no existen variables de clase. De hecho, no hay un objeto en absoluto al momento de la llamada. Por lo tanto, una funci贸n de clase no puede usar variables del objeto (pero puede usar variables locales y globales), y quiz谩s no pueda usar $this en absoluto.
En el ejemplo anterior, la clase B redefine la funci贸n ejemplo(). La definici贸n original en la clase A es cubierta y ya no se encuentra disponible, a menos que haga referencia espec铆ficamente a la implementaci贸n de ejemplo() en la clase A usando el operador ::. Escriba A::ejemplo() para hacerlo (en realidad, deber铆a usar parent::ejemplo(), como se muestra en la siguiente secci贸n).
En este contexto, hay un objeto actual y puede tener variables de objeto. Por lo tanto, cuando se usa DESDE EL INTERIOR de una funci贸n de objeto, es posible usar $this y variables de objeto.