Диспечер
класс Dispatcher реализует Dispatcher (View source)
Свойства
| protected Container | $container | Экземпляр контейнера IoC. | |
| protected array | $listeners | Зарегистрированные обработчики событий. | |
| protected array | $wildcards | Обработчики с подстановочными знаками. | |
| protected array | $sorted | Отсортированные обработчики событий. | |
| protected array | $firing | Стек обработки событий. | |
| protected callable | $queueResolver | Экземпляр обработчика очереди. |
Методы
| void | __construct(Container $container = null) Создать новый экземпляр диспетчера событий. | |
| void | listen(string|array $events, mixed $listener, int $priority) Зарегистрировать обработчик события в диспетчере. | |
| void | setupWildcardListen(string $event, mixed $listener) Настроить обратный вызов обработчика с подстановочными знаками. | |
| bool | hasListeners(string $eventName) Определить, есть ли обработчики для данного события. | |
| void | push(string $event, array $payload = []) Зарегистрировать событие и payload для последующего запуска. | |
| void | subscribe(object|string $subscriber) Зарегистрировать подписчика на событие в диспетчере. | |
| mixed | resolveSubscriber(object|string $subscriber) Разрешить экземпляр подписчика. | |
| mixed | until(string $event, array $payload = []) Запустить событие до получения первого ненулевого ответа. | |
| void | flush(string $event) Очистить набор отложенных событий. | |
| string | firing() Получить событие, которое в данный момент обрабатывается. | |
| array|null | fire(string|object $event, mixed $payload = [], bool $halt = false) Запустить событие и вызвать обработчики. | |
| void | broadcastEvent(ShouldBroadcast $event) Вещание заданного класса события. | |
| array | getListeners(string $eventName) Получить все обработчики для заданного имени события. | |
| array | getWildcardListeners(string $eventName) Получить обработчики с подстановочными знаками для события. | |
| array | sortListeners(string $eventName) Отсортировать обработчики для заданного события по приоритету. | |
| mixed | makeListener(mixed $listener) Зарегистрировать обработчик события в диспетчере. | |
| Closure | createClassListener(mixed $listener) Создать обработчик на основе класса, используя контейнер IoC. | |
| callable | createClassCallable(string $listener, Container $container) Создать обратный вызов обработчика на основе класса. | |
| array | parseClassCallable(string $listener) Разбор обработчика класса на класс и метод. | |
| bool | handlerShouldBeQueued(string $class) Определить, должен ли обработчик события быть помещен в очередь. | |
| Closure | createQueuedHandlerCallable(string $class, string $method) Создать обратный вызов для помещения обработчика события в очередь. | |
| array | cloneArgumentsForQueueing(array $arguments) Создать копии аргументов для помещения в очередь. | |
| void | callQueueMethodOnHandler(string $class, string $method, array $arguments) Вызвать метод очереди в обработчике. | |
| void | forget(string $event) Удалить набор обработчиков из диспетчера. | |
| void | forgetPushed() Удалить все отложенные обработчики. | |
| Queue | resolveQueue() Получить реализацию очереди из обработчика. | |
| $this | setQueueResolver(callable $resolver) Установить реализацию обработчика очереди. |
Детали
void __construct(Container $container = null)
Создать новый экземпляр диспетчера событий.
void listen(string|array $events, mixed $listener, int $priority)
Зарегистрировать обработчик события в диспетчере.
protected void setupWildcardListen(string $event, mixed $listener)
Настроить обратный вызов обработчика с подстановочными знаками.
bool hasListeners(string $eventName)
Определить, есть ли обработчики для данного события.
void push(string $event, array $payload = [])
Зарегистрировать событие и payload для последующего запуска.
void subscribe(object|string $subscriber)
Зарегистрировать подписчика события в диспетчер.
protected mixed resolveSubscriber(object|string $subscriber)
Разрешить экземпляр подписчика.
mixed until(string $event, array $payload = [])
Вызвать событие до получения первого ненулевого ответа.
void flush(string $event)
Очистить набор событий, которые были отправлены.
string firing()
Получить событие, которое в настоящее время срабатывает.
array|null fire(string|object $event, mixed $payload = [], bool $halt = false)
Вызвать событие и вызвать слушателей.
protected void broadcastEvent(ShouldBroadcast $event)
Отправить заданный класс события.
array getListeners(string $eventName)
Получить всех слушателей для данного имени события.
protected array getWildcardListeners(string $eventName)
Получить слушателей с подстановочными знаками для события.
protected array sortListeners(string $eventName)
Отсортировать слушателей для данного события по приоритету.
mixed makeListener(mixed $listener)
Зарегистрировать слушателя события в диспетчере.
Closure createClassListener(mixed $listener)
Создать слушателя на основе класса с использованием контейнера IoC.
protected callable createClassCallable(string $listener, Container $container)
Создать вызываемый объект на основе класса.
protected array parseClassCallable(string $listener)
Разбор слушателя класса на класс и метод.
protected bool handlerShouldBeQueued(string $class)
Определить, должен ли обработчик событий быть помещен в очередь.
protected Closure createQueuedHandlerCallable(string $class, string $method)
Создать вызываемый объект для помещения обработчика события в очередь.
protected array cloneArgumentsForQueueing(array $arguments)
Клонировать переданные аргументы для очереди.
protected void callQueueMethodOnHandler(string $class, string $method, array $arguments)
Вызвать метод очереди в обработчике класса.
void forget(string $event)
Удалить набор слушателей из диспетчера.
void forgetPushed()
Удалить всех слушателей, которые были отправлены.
protected Queue resolveQueue()
Получить реализацию очереди из решателя.
$this setQueueResolver(callable $resolver)
Установить реализацию обработчика очереди.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.1/Illuminate/Events/Dispatcher.html