PHP 5 permite que se definan métodos generales
(__get() y __set()) para acceder
a las variables de una clase, cuando esta no existe explicitamente.
<?php
class Secretos {
private $claves = array ('jorge'=>'ogrej', 'diana'=>'azul123');
function __get($varName) {
if (array_key_exists($varName, $this->claves)) {
return $this->claves[$varName];
}
}
function __set($varName, $value) {
$this->claves[$varName] = $value;
}
}
$obj = new Secretos();
$obj->hugo = 'gregorian-chants_rewl';
echo "La clave de Diana es {$obj->diana}\n";
echo "Hugo prefiere {$obj->hugo}\n";
echo "Mientras que Jorge astutamente usa {$obj->jorge}\n";
?>
... y al correr esto listamos los valores:
La clave de Diana es azul123 Hugo prefiere gregorian-chants_rewl Mientras que Jorge astutamente usa ogrej