Диспечер
класс Dispatcher реализует Dispatcher (View source)
Свойства
| protected Container | $container | Экземпляр контейнера IoC. | |
| protected array | $listeners | Зарегистрированные обработчики событий. | |
| protected array | $wildcards | Обработчики с подстановкой. | |
| protected array | $wildcardsCache | Кэшированные обработчики с подстановкой. | |
| protected callable | $queueResolver | Экземпляр решателя очереди. |
Методы
| void | __construct(Container $container = null) Создать новый экземпляр диспечера событий. | |
| void | listen(string|array $events, mixed $listener) Зарегистрировать обработчик событий в диспечере. | |
| void | setupWildcardListen(string $event, mixed $listener) Настроить обработчик с подстановкой. | |
| bool | hasListeners(string $eventName) Определить, есть ли обработчики для данного события. | |
| void | push(string $event, array $payload = []) Зарегистрировать событие и полезную нагрузку для последующего срабатывания. | |
| void | flush(string $event) Очистить набор отложенных событий. | |
| void | subscribe(object|string $subscriber) Зарегистрировать подписчика на события в диспечере. | |
| mixed | resolveSubscriber(object|string $subscriber) Разрешить экземпляр подписчика. | |
| array|null | until(string|object $event, mixed $payload = []) Вызвать событие до получения первого ненулевого ответа. | |
| array|null | dispatch(string|object $event, mixed $payload = [], bool $halt = false) Вызвать событие и вызвать обработчики. | |
| array | parseEventAndPayload(mixed $event, mixed $payload) Разбирать заданное событие и полезную нагрузку для отправки. | |
| bool | shouldBroadcast(array $payload) Определить, содержит ли полезная нагрузка транслируемое событие. | |
| bool | broadcastWhen(mixed $event) Проверить, нужно ли транслировать событие по условию. | |
| void | broadcastEvent(ShouldBroadcast $event) Транслировать данный класс события. | |
| array | getListeners(string $eventName) Получить все обработчики для данного имени события. | |
| array | getWildcardListeners(string $eventName) Получить обработчики с подстановкой для события. | |
| array | addInterfaceListeners(string $eventName, array $listeners = []) Добавить обработчики для интерфейсов события в заданный массив. | |
| Closure | makeListener(Closure|string $listener, bool $wildcard = false) Зарегистрировать обработчик события в диспечере. | |
| Closure | createClassListener(string $listener, bool $wildcard = false) Создать обработчик на основе класса с использованием контейнера IoC. | |
| callable | createClassCallable(string $listener) Создать вызываемый обработчик события на основе класса. | |
| array | parseClassCallable(string $listener) Разбирать обработчик класса на класс и метод. | |
| bool | handlerShouldBeQueued(string $class) Определить, должен ли обработчик события быть помещен в очередь. | |
| Closure | createQueuedHandlerCallable(string $class, string $method) Создать вызываемый объект для помещения обработчика события в очередь. | |
| bool | handlerWantsToBeQueued(string $class, array $arguments) Определить, хочет ли обработчик события быть помещен в очередь. | |
| void | queueHandler(string $class, string $method, array $arguments) Поместить обработчик класса в очередь. | |
| array | createListenerAndJob(string $class, string $method, array $arguments) Создать обработчик и задачу для обработчика в очереди. | |
| mixed | propagateListenerOptions(mixed $listener, mixed $job) Распространить параметры обработчика на задачу. | |
| void | forget(string $event) Удалить набор обработчиков из диспечера. | |
| void | forgetPushed() Удалить все отложенные обработчики. | |
| Queue | resolveQueue() Получить реализацию очереди из решателя. | |
| $this | setQueueResolver(callable $resolver) Установить реализацию решателя очереди. |
Подробности
void __construct(Container $container = null)
Создать новый экземпляр диспечера событий.
void listen(string|array $events, mixed $listener)
Зарегистрировать обработчик события в диспечере.
protected void setupWildcardListen(string $event, mixed $listener)
Настроить обработчик с подстановкой.
bool hasListeners(string $eventName)
Определить, есть ли слушатели для данного события.
void push(string $event, array $payload = [])
Зарегистрировать событие и полезную нагрузку для последующего срабатывания.
void flush(string $event)
Очистить набор зарегистрированных событий.
void subscribe(object|string $subscriber)
Зарегистрировать подписчика на событие в диспетчер.
protected mixed resolveSubscriber(object|string $subscriber)
Разрешить экземпляр подписчика.
array|null until(string|object $event, mixed $payload = [])
Срабатывать события до получения первого ненулевого ответа.
array|null dispatch(string|object $event, mixed $payload = [], bool $halt = false)
Сгенерировать событие и вызвать слушателей.
protected array parseEventAndPayload(mixed $event, mixed $payload)
Разбирать событие и полезную нагрузку для подготовки к срабатыванию.
protected bool shouldBroadcast(array $payload)
Определить, содержит ли полезная нагрузка событие для трансляции.
protected bool broadcastWhen(mixed $event)
Проверить, должно ли событие быть транслировано по условию.
protected void broadcastEvent(ShouldBroadcast $event)
Транслировать заданный класс события.
array getListeners(string $eventName)
Получить всех слушателей для данного имени события.
protected array getWildcardListeners(string $eventName)
Получить слушателей с подстановкой для события.
protected array addInterfaceListeners(string $eventName, array $listeners = [])
Добавить слушателей для интерфейсов события в заданный массив.
Closure makeListener(Closure|string $listener, bool $wildcard = false)
Зарегистрировать слушателя события в диспетчере.
Closure createClassListener(string $listener, bool $wildcard = false)
Создать слушателя на основе класса, используя контейнер IoC.
protected callable createClassCallable(string $listener)
Создать вызываемый объект на основе класса.
protected array parseClassCallable(string $listener)
Разбор слушателя класса в класс и метод.
protected bool handlerShouldBeQueued(string $class)
Определить, должен ли обработчик события быть помещён в очередь.
protected Closure createQueuedHandlerCallable(string $class, string $method)
Создайте вызываемый объект для добавления обработчика событий в очередь.
protected bool handlerWantsToBeQueued(string $class, array $arguments)
Определите, хочет ли обработчик событий быть помещен в очередь.
protected void queueHandler(string $class, string $method, array $arguments)
Поместите класс обработчика в очередь.
protected array createListenerAndJob(string $class, string $method, array $arguments)
Создайте слушателя и задание для слушателя в очереди.
protected mixed propagateListenerOptions(mixed $listener, mixed $job)
Распространите параметры слушателя на задание.
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.8/Illuminate/Events/Dispatcher.html