Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2014
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.98 KB | None | 0 0
  1. <?php
  2.  
  3. class ObservableQuery extends \BookQuery
  4. {
  5.     /** @var array $_observerMethods Массив с функциями-обработчиками события */
  6.     protected $_observerMethods = [];
  7.  
  8.     /**
  9.      * @param \Closure $function Обработчик, который нужно будет выполнить при наступлении события
  10.      */
  11.     public function attach(\Closure $funciton){
  12.         $this->_observerMethods[] = $function;
  13.     }
  14.  
  15.     public function preSelect()
  16.     {
  17.         //Пробегаемся по всем событиям и выполняем их
  18.         foreach ($this->_observerMethods as $handler) {
  19.             $handler($this);
  20.         }
  21.     }
  22. }
  23.  
  24. $query = new ObservableQuery();
  25. $query->attach(function(ObservableQuery $query){
  26.     echo "Уху, я выполняюсь!";
  27. });
  28. //перед наступление события будет выведено "Уху, я выполняюсь!"
  29. $query->find();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement