Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class ObservableQuery extends \BookQuery
- {
- /** @var array $_observerMethods Массив с функциями-обработчиками события */
- protected $_observerMethods = [];
- /**
- * @param \Closure $function Обработчик, который нужно будет выполнить при наступлении события
- */
- public function attach(\Closure $funciton){
- $this->_observerMethods[] = $function;
- }
- public function preSelect()
- {
- //Пробегаемся по всем событиям и выполняем их
- foreach ($this->_observerMethods as $handler) {
- $handler($this);
- }
- }
- }
- $query = new ObservableQuery();
- $query->attach(function(ObservableQuery $query){
- echo "Уху, я выполняюсь!";
- });
- //перед наступление события будет выведено "Уху, я выполняюсь!"
- $query->find();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement