Propiedades en PHP5
Ya antes mencione como utilizar las propiedades en php5.
Ahora, jugando un poco con el codigo, descubri una nueva forma, un tanto mas ordenada, de codificarlas.
Tenemos nuestra clase
class MyClass
{}
Para poder usar las propiedades necesitamos definir la funcion especial __get
public funcion __get($attr)
{}
Como vimos antes, lo usual es poner un bloque switch dentro de la funcion __get y compararlo con cada valor de attr y dar la respuesta en funcion de eso. Sin embargo si queremos podemos definir cada propiedad existente en nuestra clase en su propia funcion de la siguiente manera:
private function __get_Estado()
{
return “holas”;
}
Aca, estamos definiendo la propiedad Estado, la cual me devuelve la cadena “holas”. Como se puede ver se ha definido como privada, asi no se puede llamar a esta funcion desde el exterior. Y ahora para hacer que cuando se utilice el attributo se ejecute la funcion ponemos el siguiente codigo en la funcion __get
public function __get($attr)
{
$functionName = “__get_”.$attr;
return $this->$functionName();}
Al final, asi quedaria nuestra clase:
class Departamento
{
public function __get($attr)
{
$functionName = “get”.$attr;
return $this->$functionName();
}private function getEstado()
{
return “holas”;
}}
Si queremos, podemos probar la clase
$a = new Departamento();
echo “#”.$a->Estado.”#”;
Y nos devolvera
#Holas#
Bueno espero, les haya servido
Technorati Tags: php, php5, objetos, propiedades, programacion, web
en www.configbox.com puedes elegir tu hosting entre php4 y php5 . Es un buen lugar para empezar a probar. Dan 10 días de prueba
Comment by solaris — September 17, 2007 @ 2:39 pm