@api
Overrides EventDispatcherInterface::dispatch
EventDispatcherInterface::dispatch
public function dispatch($eventName, Event $event = null) {
if (null === $event) {
$event = new Event();
}
$event
->setDispatcher($this);
$event
->setName($eventName);
if (!isset($this->listeners[$eventName])) {
return $event;
}
$this
->doDispatch($this
->getListeners($eventName), $eventName, $event);
return $event;
}