phpgears/event-symfony-messenger

Event bus implementation with Symfony's Event Dispatcher

0.2.1 2019-10-05 13:26 UTC

This package is auto-updated.

Last update: 2024-04-13 03:20:59 UTC


README

PHP version Latest Version License

Build Status Style Check Code Quality Code Coverage

Total Downloads Monthly Downloads

Event bus with Symfony's Messenger

Event bus implementation with Symfony's Messenger

Installation

Composer

composer require phpgears/event-symfony-messenger

Usage

Require composer autoload file

require './vendor/autoload.php';

Events Bus

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

Contributing

Found a bug or have a feature request? Please open a new issue. Have a look at existing issues before.

See file CONTRIBUTING.md

License

See file LICENSE included with the source code for a copy of the license terms.