
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');