phpgears/event-symfony-messenger

基于 Symfony 事件调度器的事件总线实现

0.2.1 2019-10-05 13:26 UTC

This package is auto-updated.

Last update: 2024-09-13 04:06:33 UTC


README

PHP version Latest Version License

Build Status Style Check Code Quality Code Coverage

Total Downloads Monthly Downloads

基于 Symfony Messenger 的事件总线

使用 Symfony Messenger 实现的事件总线

安装

Composer

composer require phpgears/event-symfony-messenger

用法

需要 composer 自动加载文件

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

贡献

发现错误或有功能请求? 请创建一个新问题。在创建之前请查看现有问题。

见文件 CONTRIBUTING.md

许可

见源代码中包含的文件 LICENSE 以获取许可条款的副本。