Blog de Gonzalo

CUANDO USAR SELF O THIS EN PHP

Muchas veces he visto en internet que se preguntaba cuando usar Self o This en php y la respuesta es bastante sencilla:

  • Self hace referencia a la clase actual y se usando cuando instancia dicha clase, es decir se usan métodos estáticos.
  • This hace referencia al objeto actual, es decir, cuando una clase si tiene instancia. No se puede hacer referencia a métodos estáticos usando this pero si a métodos públicos, privados y protegidos.


class Saludos{

 static function textoSaludo(string $nombre): string {
    return 'HOLA ' . $nombre;
 }

 static function mostrarSaludo(string $nombre){
    echo self::textoSaludo($nombre);
 }
}

Saludos::mostrarSaludo('Gonzalo');


class Saludos{

 private function textoSaludo(string $nombre): string {
    return 'HOLA ' . $nombre;
 }

 public function mostrarSaludo(string $nombre){
    echo $this->textoSaludo($nombre);
 }
}

$saludos = new Saludos();
$saludos->mostrarSaludo('Gonzalo');

Compartir en twitter