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; }
public function postFoo(puzzle_event_EventInterface $e) { $this->postFooInvoked = true; $e->stopPropagation(); }