Cita:
Iniciado por GaDo P.D: Parece que no me entienden. Se para que se usan __get y __set. Solo pido un ejemplo practico de uso.
creo que aquí tu imaginación no da para mas... así que te pongo un ejemplo muy básico del uso de dichos métodos:
imaginemos que tienes una clase de configuración, en la cual no te gustaría definir ninguna opción dentro de la misma clase... osea, que te gustaría que su comportamiento fuera dinámico...
entonces, veamos esto:
Código PHP:
$config = new Config('my.ini');
echo $config->site_title;
$config->my_option = 'my_value';
si tu clase no usa dichos métodos mágicos, ¿como saber que la propiedad
site_title existe?
si imprimes una propiedad inexistente lo que obtienes es un error de propiedad no definida...
en dado caso, imaginemos que en el constructor de dicha clase cargamos la configuración a partir del archivo especificado:
my.ini Cita: [config]
site_title=Hola mundo!
other_opt=false
y bueno, ya con el método
__get (
que como dicta el manual) podrías acceder a dicha configuración de una forma transparente, no tendiendo que definir propiedad por propiedad dentro de tu clase...
en resumen, el método
__get se invoca cuando se trata de leer propiedades inexistentes de un objeto, y
__set se invoca cuando se trata de asignar dichas propiedades!!
PDTA: que conste que todo esto viene escrito en el manual, si los arboles te impiden ver el bosque, deberías cambiar de profesión y/o hobbie...