Utilizando self y parent en PHP

Operador de resolución ::

El Operador de Resolución (::) también conocido como Paamayim Nekudotayim que significa doble-dos-puntos en Hebreo.
Este nombre se lo dieron al escribir el compilador Zend 0.5

Para usar este operador desde fuera de una clase basta con poner el nombre de la clase seguida del operador(::) y el nombre de la constante(por ejemplo) para poder ser llamada.

class MiClase 
{
    const CONSTANTE = 'Hola! ';
}

echo MiClase::CONSTANTE;

self y parent

Cuando queramos accesar a una constante o metodo estatico por ejemplo desde dentro de la clase podemos usar esta palabra reservada.
self.

Cuando queramos acceder a una constante o metodo de una clase padre, la palabra reservada parent nos sirve para llamarla desde una clase extendida.

class Clase2 extends MiClase
{
    public static $variable = ' static';

    public static function miFuncion() 
    {
        echo parent::CONSTANTE;
        
        echo self::$variable;
    }
}

Clase2::miFuncion() //-> Hola! static

Un caso es cuando en una clase extendida se vuelva a declarar el mismo metodo eliminando las definiciones y cambiando su Visibilidad del metodo de la clase padre.

Lo que hara es ya no llamar al metodo de la clase padre, pero si se requiere se podría hacer con la palabra reservada parent, esto también se aplica en Constructores y Destructores y definición de los metodos mágicos.

class ClasePadre 
{
    protected function miFuncion()
    {
    	echo ' Metodo Padre ';
    }
}

class Extendida extends ClasePadre
{
	public function miFuncion()
    {
    	parent::miFuncion;
        echo ' Metodo hijo';
    }
}
zp8497586rq

También te puede interesar

2 Comments

  1. static en PHP | Craftyman Blog
    oct 07, 2008 @ 07:17:09

    [...] About Operador de resolucion :: [...]

  2. progamarenphp
    nov 04, 2010 @ 10:25:44

    interensante a los que vamos inciando con la programacion orientada a objetos en php