Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /** IBOT SOCKET PHP5
- * @designer: Alexander171294
- * @Proyect Name: PHPIBot 2
- * @contact: Alexander171294@gmail.com
- * @Status: Prototype
- * @Date: 02/12/13
- * @info: proyecto desarrollado por el equipo UnderC0de++
- */
- /*
- * Este es un mecanismo inter-componente, es medio complejo de explicar pero
- * más o menos es así
- * cuando se instancia el componente, y se quiere proveer al componente de la posibilidad
- * de poder hablar con el código que lo ejecuta, tanto como el código le puede hablar a él
- * (osea que si el componente por x motivo decea mandar un mensaje al código porque ocurrió un evento)
- * pueda hacerlo.
- * Como? se instancia un block closure para ese componente, y se le da por parametros
- * la instancia del componente, y la instancia del código que ejecuta el componente.
- * Luego se entrega al componente la instancia del block closure
- * y se guarda en el código original la instancia del block closure.
- *
- * cuando el código original quiera ejecutar algo del componente, llamará al blockclosure que tiene guardado
- * le exigirá la instancia del componente y ejecutará lo que tenga que hacer
- *
- * si ocurre algún evento en el componente, el mismo, tomará la instancia de block closure y ejecutará eventHandler
- * que esta función usará la instancia de la clase original que instanció el componente, y llamará a la función predeterminada
- *
- */
- Interface iBlockClosure
- {
- public function __construct($kid, $callback, $func_callback);
- public function eventHandler($params);
- public function getComponent();
- }
- class BlockClosure implements iBlockClosure
- {
- private $component_kid = null;
- private $callback = null;
- private $func = null;
- public function __construct($kid, $callback, $func_callback)
- {
- $this->component_kid = $kid;
- $this->callback = $callback;
- $this->func = $func_callback;
- }
- public function eventHandler($params)
- {
- $func = (string)$this->func;
- return $this->callback->$func($params);
- }
- public function getComponent()
- {
- return $this->component_kid;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement