03 junio, 2008

Conseguir con PHP el comportamiento de prototipos de Javascript

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.

Publicar un comentario en la entrada

Últimos links en indiza.com