Web Reflection: Interesante artículo en el que explican cómo gracias a las extensiones RunKit y ClassKit de la librería PECL se permite escribir código como el siguiente:
// basic class
class Demo {
public static $prototype;
}
// prototype assignment, with optional methods
Demo::$prototype = new prototype(
'Demo',
array(
'set_name' => array('$name', '$this->name = $name;'),
'get_name' => array('return $this->name;')
)
);
// a generic instance
$demo = new Demo();
$demo->set_name('Andrea Giammarchi');
echo $demo->get_name(); // Andrea Giammarchi
// add more prototypes
Demo::$prototype->set_age = array('$age', '$this->age = $age;');
Demo::$prototype->get_info = array('return $this->name." is ".$this->age." years old";');
$demo->set_age(30);
echo '
', $demo->get_info();
// Andrea Giammarchi is 30 years old
?>
O lo que es lo mismo, definir una lista de métodos, asignar un prototipo, usarlos y, finalmente, añadir más métodos usables con una instancia ya definida sin problemas.
No hay comentarios:
Publicar un comentario