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