Dispatcher
class Dispatcher implements Dispatcher (View source)
Properties
protected Container | $container | The IoC container instance. | |
protected array | $listeners | The registered event listeners. | |
protected array | $wildcards | The wildcard listeners. | |
protected array | $wildcardsCache | The cached wildcard listeners. | |
protected callable | $queueResolver | The queue resolver instance. |
Methods
void | __construct(Container $container = null) Create a new event dispatcher instance. | |
void | listen(string|array $events, mixed $listener) Register an event listener with the dispatcher. | |
void | setupWildcardListen(string $event, mixed $listener) Setup a wildcard listener callback. | |
bool | hasListeners(string $eventName) Determine if a given event has listeners. | |
void | push(string $event, array $payload = []) Register an event and payload to be fired later. | |
void | flush(string $event) Flush a set of pushed events. | |
void | subscribe(object|string $subscriber) Register an event subscriber with the dispatcher. | |
mixed | resolveSubscriber(object|string $subscriber) Resolve the subscriber instance. | |
array|null | until(string|object $event, mixed $payload = []) Fire an event until the first non-null response is returned. | |
array|null | fire(string|object $event, mixed $payload = [], bool $halt = false) Fire an event and call the listeners. | |
array|null | dispatch(string|object $event, mixed $payload = [], bool $halt = false) Fire an event and call the listeners. | |
array | parseEventAndPayload(mixed $event, mixed $payload) Parse the given event and payload and prepare them for dispatching. | |
bool | shouldBroadcast(array $payload) Determine if the payload has a broadcastable event. | |
bool | broadcastWhen(mixed $event) Check if event should be broadcasted by condition. | |
void | broadcastEvent(ShouldBroadcast $event) Broadcast the given event class. | |
array | getListeners(string $eventName) Get all of the listeners for a given event name. | |
array | getWildcardListeners(string $eventName) Get the wildcard listeners for the event. | |
array | addInterfaceListeners(string $eventName, array $listeners = []) Add the listeners for the event's interfaces to the given array. | |
Closure | makeListener(Closure|string $listener, bool $wildcard = false) Register an event listener with the dispatcher. | |
Closure | createClassListener(string $listener, bool $wildcard = false) Create a class based listener using the IoC container. | |
callable | createClassCallable(string $listener) Create the class based event callable. | |
array | parseClassCallable(string $listener) Parse the class listener into class and method. | |
bool | handlerShouldBeQueued(string $class) Determine if the event handler class should be queued. | |
Closure | createQueuedHandlerCallable(string $class, string $method) Create a callable for putting an event handler on the queue. | |
bool | handlerWantsToBeQueued(string $class, array $arguments) Determine if the event handler wants to be queued. | |
void | queueHandler(string $class, string $method, array $arguments) Queue the handler class. | |
array | createListenerAndJob(string $class, string $method, array $arguments) Create the listener and job for a queued listener. | |
mixed | propagateListenerOptions(mixed $listener, mixed $job) Propagate listener options to the job. | |
void | forget(string $event) Remove a set of listeners from the dispatcher. | |
void | forgetPushed() Forget all of the pushed listeners. | |
Queue | resolveQueue() Get the queue implementation from the resolver. | |
$this | setQueueResolver(callable $resolver) Set the queue resolver implementation. |
Details
void __construct(Container $container = null)
Create a new event dispatcher instance.
void listen(string|array $events, mixed $listener)
Register an event listener with the dispatcher.
protected void setupWildcardListen(string $event, mixed $listener)
Setup a wildcard listener callback.
bool hasListeners(string $eventName)
Determine if a given event has listeners.
void push(string $event, array $payload = [])
Register an event and payload to be fired later.
void flush(string $event)
Flush a set of pushed events.
void subscribe(object|string $subscriber)
Register an event subscriber with the dispatcher.
protected mixed resolveSubscriber(object|string $subscriber)
Resolve the subscriber instance.
array|null until(string|object $event, mixed $payload = [])
Fire an event until the first non-null response is returned.
array|null fire(string|object $event, mixed $payload = [], bool $halt = false)
Fire an event and call the listeners.
array|null dispatch(string|object $event, mixed $payload = [], bool $halt = false)
Fire an event and call the listeners.
protected array parseEventAndPayload(mixed $event, mixed $payload)
Parse the given event and payload and prepare them for dispatching.
protected bool shouldBroadcast(array $payload)
Determine if the payload has a broadcastable event.
protected bool broadcastWhen(mixed $event)
Check if event should be broadcasted by condition.
protected void broadcastEvent(ShouldBroadcast $event)
Broadcast the given event class.
array getListeners(string $eventName)
Get all of the listeners for a given event name.
protected array getWildcardListeners(string $eventName)
Get the wildcard listeners for the event.
protected array addInterfaceListeners(string $eventName, array $listeners = [])
Add the listeners for the event's interfaces to the given array.
Closure makeListener(Closure|string $listener, bool $wildcard = false)
Register an event listener with the dispatcher.
Closure createClassListener(string $listener, bool $wildcard = false)
Create a class based listener using the IoC container.
protected callable createClassCallable(string $listener)
Create the class based event callable.
protected array parseClassCallable(string $listener)
Parse the class listener into class and method.
protected bool handlerShouldBeQueued(string $class)
Determine if the event handler class should be queued.
protected Closure createQueuedHandlerCallable(string $class, string $method)
Create a callable for putting an event handler on the queue.
protected bool handlerWantsToBeQueued(string $class, array $arguments)
Determine if the event handler wants to be queued.
protected void queueHandler(string $class, string $method, array $arguments)
Queue the handler class.
protected array createListenerAndJob(string $class, string $method, array $arguments)
Create the listener and job for a queued listener.
protected mixed propagateListenerOptions(mixed $listener, mixed $job)
Propagate listener options to the job.
void forget(string $event)
Remove a set of listeners from the dispatcher.
void forgetPushed()
Forget all of the pushed listeners.
protected Queue resolveQueue()
Get the queue implementation from the resolver.
$this setQueueResolver(callable $resolver)
Set the queue resolver implementation.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.7/Illuminate/Events/Dispatcher.html