Dispatcher

class Dispatcher implements Dispatcher (View source)

Traits

Macroable

Properties

static protected array $macros The registered string macros. from Macroable
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

static void macro(string $name, object|callable $macro)

Register a custom macro.

from Macroable
static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

from Macroable
static bool hasMacro(string $name)

Checks if macro is registered.

from Macroable
static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

from Macroable
mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

from Macroable
void __construct(Container $container = null)

Create a new event dispatcher instance.

void listen(string|array $events, Closure|string $listener)

Register an event listener with the dispatcher.

void setupWildcardListen(string $event, Closure|string $listener)

Setup a wildcard listener callback.

bool hasListeners(string $eventName)

Determine if a given event has listeners.

bool hasWildcardListeners(string $eventName)

Determine if the given event has any wildcard 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 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(array|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

static void macro(string $name, object|callable $macro)

Register a custom macro.

Parameters

string $name
object|callable $macro

Return Value

void

static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

static bool hasMacro(string $name)

Checks if macro is registered.

Parameters

string $name

Return Value

bool

static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

void __construct(Container $container = null)

Create a new event dispatcher instance.

Parameters

Container $container

Return Value

void

void listen(string|array $events, Closure|string $listener)

Register an event listener with the dispatcher.

Parameters

string|array $events
Closure|string $listener

Return Value

void

protected void setupWildcardListen(string $event, Closure|string $listener)

Setup a wildcard listener callback.

Parameters

string $event
Closure|string $listener

Return Value

void

bool hasListeners(string $eventName)

Determine if a given event has listeners.

Parameters

string $eventName

Return Value

bool

bool hasWildcardListeners(string $eventName)

Determine if the given event has any wildcard listeners.

Parameters

string $eventName

Return Value

bool

void push(string $event, array $payload = [])

Register an event and payload to be fired later.

Parameters

string $event
array $payload

Return Value

void

void flush(string $event)

Flush a set of pushed events.

Parameters

string $event

Return Value

void

void subscribe(object|string $subscriber)

Register an event subscriber with the dispatcher.

Parameters

object|string $subscriber

Return Value

void

protected mixed resolveSubscriber(object|string $subscriber)

Resolve the subscriber instance.

Parameters

object|string $subscriber

Return Value

mixed

array|null until(string|object $event, mixed $payload = [])

Fire an event until the first non-null response is returned.

Parameters

string|object $event
mixed $payload

Return Value

array|null

array|null dispatch(string|object $event, mixed $payload = [], bool $halt = false)

Fire an event and call the listeners.

Parameters

string|object $event
mixed $payload
bool $halt

Return Value

array|null

protected array parseEventAndPayload(mixed $event, mixed $payload)

Parse the given event and payload and prepare them for dispatching.

Parameters

mixed $event
mixed $payload

Return Value

array

protected bool shouldBroadcast(array $payload)

Determine if the payload has a broadcastable event.

Parameters

array $payload

Return Value

bool

protected bool broadcastWhen(mixed $event)

Check if event should be broadcasted by condition.

Parameters

mixed $event

Return Value

bool

protected void broadcastEvent(ShouldBroadcast $event)

Broadcast the given event class.

Parameters

ShouldBroadcast $event

Return Value

void

array getListeners(string $eventName)

Get all of the listeners for a given event name.

Parameters

string $eventName

Return Value

array

protected array getWildcardListeners(string $eventName)

Get the wildcard listeners for the event.

Parameters

string $eventName

Return Value

array

protected array addInterfaceListeners(string $eventName, array $listeners = [])

Add the listeners for the event's interfaces to the given array.

Parameters

string $eventName
array $listeners

Return Value

array

Closure makeListener(Closure|string $listener, bool $wildcard = false)

Register an event listener with the dispatcher.

Parameters

Closure|string $listener
bool $wildcard

Return Value

Closure

Closure createClassListener(string $listener, bool $wildcard = false)

Create a class based listener using the IoC container.

Parameters

string $listener
bool $wildcard

Return Value

Closure

protected callable createClassCallable(array|string $listener)

Create the class based event callable.

Parameters

array|string $listener

Return Value

callable

protected array parseClassCallable(string $listener)

Parse the class listener into class and method.

Parameters

string $listener

Return Value

array

protected bool handlerShouldBeQueued(string $class)

Determine if the event handler class should be queued.

Parameters

string $class

Return Value

bool

protected Closure createQueuedHandlerCallable(string $class, string $method)

Create a callable for putting an event handler on the queue.

Parameters

string $class
string $method

Return Value

Closure

protected bool handlerWantsToBeQueued(string $class, array $arguments)

Determine if the event handler wants to be queued.

Parameters

string $class
array $arguments

Return Value

bool

protected void queueHandler(string $class, string $method, array $arguments)

Queue the handler class.

Parameters

string $class
string $method
array $arguments

Return Value

void

protected array createListenerAndJob(string $class, string $method, array $arguments)

Create the listener and job for a queued listener.

Parameters

string $class
string $method
array $arguments

Return Value

array

protected mixed propagateListenerOptions(mixed $listener, mixed $job)

Propagate listener options to the job.

Parameters

mixed $listener
mixed $job

Return Value

mixed

void forget(string $event)

Remove a set of listeners from the dispatcher.

Parameters

string $event

Return Value

void

void forgetPushed()

Forget all of the pushed listeners.

Return Value

void

protected Queue resolveQueue()

Get the queue implementation from the resolver.

Return Value

Queue

$this setQueueResolver(callable $resolver)

Set the queue resolver implementation.

Parameters

callable $resolver

Return Value

$this

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/7.x/Illuminate/Events/Dispatcher.html