EventSubscriberListenerProvider

Class
implements ListenerProviderInterface
Final: Yes

Adapt Symfony event subscribers to a PSR-14 listener provider.

Description

Subscribers are indexed by event name and yielded in descending priority order.

Table of Contents

Interfaces

Properties

$subscribedEvents

Registered subscribers indexed by event name.

 : array<string, SplPriorityQueue>

Methods

__construct()

Register the initial event subscribers.

 : mixed
addSubscriber()

Register a subscriber and index its declared listeners.

 : void
getListenersForEvent()

Yield listeners for the provided event.

 : iterable<string|int, callable(object): void>
addListener()

Attach one subscriber method to the given event name.

 : void
Properties

$subscribedEvents

Private

Registered subscribers indexed by event name.

private array<string, SplPriorityQueue> $subscribedEvents = []
Methods

__construct()

Public

Register the initial event subscribers.

public __construct(EventSubscriberInterface|string  ...$eventSubscribers) : mixed
Parameters
$eventSubscribers : EventSubscriberInterface|string

Description

Subscriber instances or subscriber class names.

addSubscriber()

Public

Register a subscriber and index its declared listeners.

public addSubscriber(EventSubscriberInterface|string  $eventSubscriber) : void
Parameters
$eventSubscriber : EventSubscriberInterface|string

Description

subscriber instance or subscriber class name

Tags
throws

Description

thrown when the provided class name is not a Symfony event subscriber

getListenersForEvent()

Public

Yield listeners for the provided event.

public getListenersForEvent( object  $event) : iterable<string|int, callable(object): void>
Parameters
$event : object

Description

event instance used for listener lookup

Return values
iterable<string|int, callable(object): void>

Description

listeners that accept the resolved event instance

addListener()

Private

Attach one subscriber method to the given event name.

private addListener(EventSubscriberInterface  $eventSubscriber, string  $eventName, string  $method[, int  $priority = 0]) : void
Parameters
$eventSubscriber : EventSubscriberInterface

Description

subscriber instance

$eventName : string

Description

event class name or string identifier

$method : string

Description

subscriber method to invoke

$priority : int = 0

Description

Listener priority. Higher values are yielded first.