示例#1
0
 public function emit($eventName, puzzle_event_EventInterface $event)
 {
     if (isset($this->listeners[$eventName])) {
         foreach ($this->listeners($eventName) as $listener) {
             if (is_array($listener) && isset($listener[0]) && $listener[0] === '___once___') {
                 $this->removeListener($eventName, $listener);
                 $listener = $listener[1];
             }
             call_user_func_array($listener, array($event, $eventName));
             if ($event->isPropagationStopped()) {
                 break;
             }
         }
     }
     return $event;
 }
示例#2
0
 public function postFoo(puzzle_event_EventInterface $e)
 {
     $this->postFooInvoked = true;
     $e->stopPropagation();
 }