Exemple #1
0
 /**
  * {@inheritdoc}
  */
 public function dispatch($event)
 {
     $event = $this->ensureEvent($event);
     // pre dispatch event
     $preDispatchEvent = new PreDispatchEvent($event);
     $eventName = $preDispatchEvent->eventName();
     if ($listeners = $this->eventListeners($eventName)) {
         $this->doDispatch($listeners, $preDispatchEvent);
     }
     // dispatch event
     $eventName = $event->eventName();
     if ($listeners = $this->eventListeners($eventName)) {
         $this->doDispatch($listeners, $event);
     }
     // post dispatch event
     $postDispatchEvent = new PostDispatchEvent($event);
     $eventName = $postDispatchEvent->eventName();
     if ($listeners = $this->eventListeners($eventName)) {
         $this->doDispatch($listeners, $postDispatchEvent);
     }
     return $event;
 }
 /**
  * @param PostDispatchEvent $postDispatchEvent
  */
 public function onPostDispatchEvent(PostDispatchEvent $postDispatchEvent)
 {
     if ($this->postDispatchHandler) {
         call_user_func($this->postDispatchHandler, $postDispatchEvent->event(), $this->io);
     } else {
         $this->io->writeLine('<c1>' . $this->eventToString($postDispatchEvent->event()) . '</c1> success!!');
         $this->io->writeLine('');
     }
 }