POO en PHP: this, self y parent


  • Paamayim Nekudotayim (::)

A veces es útil hacer rereferencia a variables o funciones en clases base, o referenciar funciones en clases que aún no tienen instancias. El Operador de Resolución (::) también conocido como Paamayim Nekudotayim (significa doble-dos-puntos en Hebreo) se usa para ello.

  • self y parent

Cuando queramos acceder a una constante o método estático desde dentro de la clase, usamos la palabra reservada: self.

Cuando queramos acceder a una constante o método de una clase padre, usamos desde la clase extendida la palabra reservada: parent. Un caso típico es cuando en una clase extendida se sobreescribe el mismo método eliminando las definiciones y cambiando su visibilidad del método de la clase padre, como en el ejemplo anterior.

  • Diferencia entre $this y self::

Uno usa $this para hacer referencia al objeto (instancia) actual, y se utiliza self:: para referenciar a la clase actual. Se utiliza $this->nombre para nombres no estáticos y se utiliza self::nombres para nombres estáticos.