October\Rain\Events\PriorityDispatcher
Overview
PriorityDispatcher is a global event emitter with priority assignment.
Protected Properties
protected Illuminate\Contracts\Container\Container $container
container for IoC
protected DispatcherContract $laravelEvents
laravelEvents instance.
protected array $emitterSingleEventCollection
emitterSingleEventCollection of events to be fired once only
protected array $emitterEventCollection
emitterEventCollection of all registered events
protected array $emitterEventSorted
emitterEventSorted collection
Public Methods
public __call()
public __call(string $method, array $parameters): mixed
__call magic
public __construct()
public __construct(
Illuminate\Contracts\Container\Container|null $container = null
): void
__construct a new event dispatcher instance.
public bindEvent()
public bindEvent($event, $callback, $priority = 0): void
bindEvent creates a new event binding
public bindEventOnce()
public bindEventOnce($event, $callback, $priority = 0): void
bindEventOnce creates a new event binding that fires once only
public fire()
public fire(
string|object $event,
mixed $payload = [],
bool $halt = false
): array|null
fire an event and call the listeners.
public fireEvent()
public fireEvent(
string $event,
array $params = [],
boolean $halt = false
): array
fireEvent inherits logic from the Emitter, modified to forward call to Laravel events
public forget()
public forget(string $event): void
forget removes a set of listeners from the dispatcher.
public getLaravelDispatcher()
public getLaravelDispatcher(): Illuminate\Contracts\Events\Dispatcher
getLaravelDispatcher returns the base event resolver.
public listen()
public listen(
string|array $events,
mixed|null $listener = null,
int $priority = 0
): void
listen registers an event listener with the dispatcher.
public listenOnce()
public listenOnce(
string|array $events,
callable $listener,
int $priority = 0
): void
listenOnce registers an event that only fires once.
public setLaravelDispatcher()
public setLaravelDispatcher(
$dispatcher
): October\Rain\Events\PriorityDispatcher
setLaravelDispatcher sets the event resolver implementation.
public subscribe()
public subscribe(object|string $subscriber): void
subscribe registers an event subscriber with the dispatcher, passing the PriorityDispatcher instance so priority arguments are respected.
public unbindEvent()
public unbindEvent($event = null): void
unbindEvent destroys an event binding
Protected Methods
protected createClassCallback()
protected createClassCallback($callback): void
createClassCallback passes what is usually a static method call through the IoC container to create a callable instance.
protected emitterEventSortEvents()
protected emitterEventSortEvents($eventName, $combined = []): array
emitterEventSortEvents sorts the listeners for a given event by priority
protected forwardCallTo()
protected forwardCallTo(
mixed $object,
string $method,
array $parameters
): mixed
Forward a method call to the given object.
protected forwardDecoratedCallTo()
protected forwardDecoratedCallTo(
mixed $object,
string $method,
array $parameters
): mixed
Forward a method call to the given object, returning $this if the forwarded call returned itself.
protected static throwBadMethodCallException()
protected static throwBadMethodCallException(string $method): never
Throw a bad method call exception for the given method.