La palabra reservada 'static' en PHP nos permite definir métodos estáticos.
A partir de PHP 7, llamar a métodos no estáticos de forma estática está obsoleto y generará una advertencia E_DEPRECATED.
Pero, la pregunta es: ¿Qué diferencia hay entre un método estático y no estático y cuándo usarlos?
La respuesta es muy simple, todo depende de lo que vayas a hacer con la tarea que ejecuta el método.
Por ejemplo, si la tarea que está realizando el método devuelve un "echo" para que sea visible inmediatamente, no necesitamos usar la palabra reservada 'static':
class MiClase{
public function NoEstatico(){
echo "soy un método no estático";
}
}
$MetodoNoEstatico = new MiClase();
$MetodoNoEstatico -> NoEstatico();
Se accede al método no estático a través del objeto utilizando el operador flecha (->). y debería aparecer inmediatamente en nuestro navegador la frase "soy un método no estático".
Ahora, si necesitamos retornar el valor de la tarea que ejecuta el método para almacenarlo en alguna variable y luego reutilizarla las veces que la necesitemos, sí es necesario usar la palabra reservada 'static':
class MiClase{
static public function Estatico(){
return "soy un método estático";
}
}
$MetodoEstatico = MiClase::Estatico();
echo $MetodoEstatico."<br>";
echo $MetodoEstatico."<br>";
echo $Metodo
Estatico;
Como no se puede acceder a los métodos estáticos a través del objeto utilizando el operador flecha (->). Utilizamos el operador de resolución de ámbito, conocido también como el doble dos-puntos (::), es un token que permite acceder a métodos estáticos.
La información queda guardada en la variable $MetodoEstatico y la puedes utilizar cuantas veces la necesites.
Espero que con esta explicación hayas comprendido la diferencia y saber cuando usar cada uno.
Si quieres aprender más de PHP te recomiendo este curso: El curso más completo de PHP en español.
Si deseas ver esta explicación en video te invito a que visites el canal de YouTube de Tutoriales a tu Alcance dando clic en el botón de reproducción:
Desarrollador Web
13/10/2021
2604 Visitas
Usamos cookies para brindar nuestros servicios. Al utilizar este sitio web, acepta esto. Conoce nuestras políticas de Cookies