Event bus implementation with Symfony's Messenger
composer require phpgears/event-symfony-messenger
Require composer autoload file
require './vendor/autoload.php';
use Gears\Event\Symfony\Messenger\EventHandlerLocator;
use Gears\Event\Symfony\Messenger\EventBus;
use Symfony\Component\Messenger\MessageBus;
use Symfony\Component\Messenger\Middleware\HandleMessageMiddleware;
$eventToHandlerMap = [];
/*
* IMPORTANT! Events can go through messageBus without being handled, set second argument
* on Symfony's EventHandlerLocator constructor ($allowNoHandlers) to true
*/
$handlerLocator = new EventHandlerLocator($eventToHandlerMap, true);
$messengerBus = new MessageBus([new HandleMessageMiddleware($handlerLocator)]);
$eventBus = new EventBus($messengerBus);
/** @var \Gears\Event\Event $event */
$eventBus->handle($event);
Found a bug or have a feature request? Please open a new issue. Have a look at existing issues before.
See file CONTRIBUTING.md
See file LICENSE included with the source code for a copy of the license terms.