willy68/pg-eventdispacher

Event system manager

v1.0.2 2025-06-18 21:19 UTC

This package is auto-updated.

Last update: 2025-06-22 16:10:44 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require Coverage Status

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);