willy68 / pg-eventdispacher
Event system manager
v1.0.2
2025-06-18 21:19 UTC
Requires
- php: >=8.1
- league/event: ^3.0
- php-di/invoker: ^2.2
Requires (Dev)
- phpunit/phpunit: 10.1
- squizlabs/php_codesniffer: ^3.13
- symfony/var-dumper: ^7.3
README
Psr14 Event Dispatcher
Installation
composer require willy68/pg-eventdispatcher
Subscribe to this dispatcher
The array keys are event names and the value can be:
The method name to call (priority defaults to 0)
The priority (default __invoke class method)
The eventName (default __invoke class method) (priority defaults to 0)
An array composed of the method name to call and the priority
For instance:
['eventName' => 'methodName'] //default priority 0 ['eventName' => ListenerPriority::HIGH] //default __invoke method ['eventName'] //default __invoke method with default priority 0 ['eventName' => ['methodName', ListenerPriority::HIGH]] //methodName with high priority
Example
use Pg\Event\EventSubscriberInterface; use League\Event\ListenerPriority; use Pg\Event\EventDispatcher; class MyListener implements EventSubscriberInterface { public function __invoke(RequestEvent $event) { // Handle the event } public static function getSubscribedEvents(): array { return [ RequestEvent::NAME => ListenerPriority::HIGH ]; } } $dispatcher = new EventDispatcher($callableResolver); $dispatcher->subscribeListener(MyListener::class);