Пример #1
0
 /**
  * Dispatches an event to all registered listeners.
  *
  * @param  string   $name
  * @param  mixed    $entity
  * @param  Metadata $metadata
  * @return bool
  */
 public function dispatchEvent($name, $entity, Metadata $metadata)
 {
     $prefix = $metadata->getEventPrefix();
     $event = new $this->eventClass($entity, $metadata, $this);
     if ($events = $metadata->getEvents() and isset($events[$name])) {
         foreach ($events[$name] as $callback) {
             call_user_func_array([$entity, $callback], [$event]);
         }
     }
     $this->connection->getEventDispatcher()->dispatch(($prefix ? $prefix . '.' : '') . $name, $event);
 }