/** * Trigger event. * * @param AbstractEvent $event */ public function trigger(AbstractEvent $event) { $queue = clone $this->queues->get($event->getEventId())->getOrElse(new \SplPriorityQueue()); /* @var $queue \SplPriorityQueue */ while ($queue->valid()) { $callback = $queue->extract(); call_user_func_array($callback, ['event' => $event]); if (is_array($callback)) { $subscriber = get_class($callback[0]) . '::' . $callback[1]; } elseif (is_string($callback)) { $subscriber = $callback; } else { $subscriber = get_class($callback); } $this->logger->debug("Event '" . $event->getEventId() . "' triggered '" . $subscriber . "'"); if (!$event->shouldPropagate()) { $this->logger->debug("'{$subscriber}' stopped propagation of '" . $event->getEventId() . "'"); break; } } }
/** * Constructor * * @param AbstractHttpException $exception * @param Request $request * @param Response $response */ public function __construct(AbstractHttpException $exception, Request $request, Response $response) { parent::__construct(self::EVENT_ID, ['exception' => $exception, 'request' => $request, 'response' => $response]); }
/** * Constructor * * @param Request $request * @param Response $response * @param AbstractController $controller * @param string $actionName * @param array $arguments */ public function __construct(Request $request, Response $response, AbstractController $controller, $actionName, array $arguments = []) { parent::__construct(self::EVENT_ID, ['request' => $request, 'response' => $response, 'controller' => $controller, 'actionName' => $actionName, 'arguments' => $arguments]); }
/** * Constructor * * @param array $payload */ public function __construct(array $payload = []) { parent::__construct('thinframe.inotify', $payload); }
/** * Constructor * * @param Signal $signal */ public function __construct(Signal $signal) { parent::__construct('thinframe.pcntl.signal', ['signal' => $signal]); }
/** * Constructor * * @param Request $request * @param Response $response * @param string $data */ public function __construct(Request $request, Response $response, $data) { parent::__construct(self::EVENT_ID, ['request' => $request, 'response' => $response, 'data' => $data]); }