Bienvenid@s, crear clases con el tiempo se convierte en algo fundamental para mantener una estructura y un orden en la aplicación. Para crear clases en PHP existen variantes que a veces pueden ayudar a tener una cierta eficiencia y accesibilidad, de hecho los frameworks PHP, se basan en esto, en ser sumamente flexibles y asumen en buena parte de sus clases propiedades y métodos estáticos. ¿por qué?, una de las grandes ventajas de utilizar propiedades y métodos estáticos es que los hacen accesibles sin tener que crear una instancia de la clase. De lo contrario, a las propiedades y métodos estáticos no podremos acceder a través de un objeto instanciado.
Si has utilizado en alguna ocasión algún framework PHP habrás utilizado en más de una ocasión las propiedades y métodos estáticos:
print CLASE::$propiedad;
print CLASE::metodo();
Pero también habrás observado que al quererlo hacer a través de una instancia, has obtenido un error:
Strict Standards: Accessing static property CLASE::$propiedad as non static
$clase = new CLASE();
print $clase->propiedad;
print $clase->metodo();
Script de ejemplo:
class CLASE
{
public static $propiedad = "Hola Mundo";
public static function metodo()
{
return self::$propiedad;
}
}
/* Es válido */
print CLASE::$propiedad;
print CLASE::metodo();
/*
Regresa un error:
$clase = new CLASE();
print $clase->propiedad;
print $clase->metodo();
*/
En las propiedades y métodos estáticos no utilizaremos $this-> para referenciar a la clase utilizaremos self, como se puede ver en la clase del ejemplo.
No hay comentarios:
Publicar un comentario