October\Rain\Events\Dispatcher

Source: ~/vendor/october/rain/src/Events/Dispatcher.php

Implements:

  • Illuminate\Contracts\Events\Dispatcher

Protected properties

protected Illuminate\Contracts\Container\Container $container

The IoC container instance.

protected array $listeners

The registered event listeners.

protected array $wildcards

The wildcard listeners.

protected array $sorted

The sorted event listeners.

protected array $firing

The event firing stack.

protected callable $queueResolver

The queue resolver instance.

Public methods

public void __construct(Illuminate\Contracts\Container\Container|null $container=NULL)

Create a new event dispatcher instance.

Parameters
  • Illuminate\Contracts\Container\Container|null $container

public Closure createClassListener(mixed $listener)

Create a class based listener using the IoC container.

Parameters
  • mixed $listener

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

Fire an event and call the listeners.

Parameters
  • string|object $event
  • mixed $payload
  • bool $halt

public array|null fire(string|object $event, mixed $payload=array(), bool $halt=false)

Fire an event and call the listeners.

Parameters
  • string|object $event
  • mixed $payload
  • bool $halt

public string firing()

Get the event that is currently firing.

public void flush(string $event)

Flush a set of pushed events.

Parameters
  • string $event

public void forget(string $event)

Remove a set of listeners from the dispatcher.

Parameters
  • string $event

public void forgetPushed()

Forget all of the pushed listeners.

public array getListeners(string $eventName)

Get all of the listeners for a given event name.

Parameters
  • string $eventName

public bool hasListeners(string $eventName)

Determine if a given event has listeners.

Parameters
  • string $eventName

public void listen(string|array $events, mixed $listener, int $priority=0)

Register an event listener with the dispatcher.

Parameters
  • string|array $events
  • mixed $listener
  • int $priority

public mixed makeListener(mixed $listener)

Register an event listener with the dispatcher.

Parameters
  • mixed $listener

public void push(string $event, array $payload=array())

Register an event and payload to be fired later.

Parameters
  • string $event
  • array $payload

public $this setQueueResolver(callable $resolver)

Set the queue resolver implementation.

Parameters
  • callable $resolver

public void subscribe(object|string $subscriber)

Register an event subscriber with the dispatcher.

Parameters
  • object|string $subscriber

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

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

Parameters
  • string|object $event
  • mixed $payload

Protected methods

protected void broadcastEvent(Illuminate\Contracts\Broadcasting\ShouldBroadcast $event)

Broadcast the given event class.

Parameters
  • Illuminate\Contracts\Broadcasting\ShouldBroadcast $event

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

Call the queue method on the handler class.

Parameters
  • string $class
  • string $method
  • array $arguments

protected array cloneArgumentsForQueueing(array $arguments)

Clone the given arguments for queueing.

Parameters
  • array $arguments

protected callable createClassCallable(string $listener, Illuminate\Container\Container $container)

Create the class based event callable.

Parameters
  • string $listener
  • Illuminate\Container\Container $container

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

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

Parameters
  • string $class
  • string $method

protected array getWildcardListeners(string $eventName)

Get the wildcard listeners for the event.

Parameters
  • string $eventName

protected bool handlerShouldBeQueued(string $class)

Determine if the event handler class should be queued.

Parameters
  • string $class

protected array parseClassCallable(string $listener)

Parse the class listener into class and method.

Parameters
  • string $listener

protected Illuminate\Contracts\Queue\Queue resolveQueue()

Get the queue implementation from the resolver.

protected mixed resolveSubscriber(object|string $subscriber)

Resolve the subscriber instance.

Parameters
  • object|string $subscriber

protected void setupWildcardListen(string $event, mixed $listener)

Setup a wildcard listener callback.

Parameters
  • string $event
  • mixed $listener

protected array sortListeners(string $eventName)

Sort the listeners for a given event by priority.

Parameters
  • string $eventName