Example #1
0
 /**
  * @param Event $event
  */
 public function emit(Event $event)
 {
     $event->onEmit();
     if ($this->listeners) {
         if (isset($this->listeners[$event->getName()])) {
             foreach ($this->listeners[$event->getName()] as $listener) {
                 call_user_func($listener, $event);
             }
         }
     }
     // call class listeners
     if ($this->classListeners) {
         foreach ($this->getParentClasses(get_class($event)) as $class) {
             if (isset($this->classListeners[$class])) {
                 foreach ($this->classListeners[$class] as $listener) {
                     call_user_func($listener, $event);
                 }
             }
         }
     }
 }