/** * @covers Panadas\Event\Event::stop() * @covers Panadas\Event\Event::isStopped() * @covers Panadas\Event\Event::setStopped() */ public function testStop() { $event = new Event("foo", new Publisher()); $this->assertFalse($event->isStopped()); $event->stop(); $this->assertTrue($event->isStopped()); }
public function trigger($eventName, Event $event = null) { if (null === $event) { $event = new Event(); } $event->stop(false); if (!isset($this->listeners[$eventName])) { return $event; } $listeners = $this->getListeners($eventName); foreach ($listeners as $listener) { $result[] = call_user_func($listener, $event); if ($event->isStopped()) { break; } } return array_pop($result); }
public function onBarEvent(Event $event) { $event->getParams()->set("foobar", "bar"); $event->stop(); }