phpgears/cqrs-symfony-messenger

使用 Symfony's Messenger 的 CQRS 实现

0.2.1 2019-10-05 11:34 UTC

This package is auto-updated.

Last update: 2024-08-25 06:33:26 UTC


README

PHP version Latest Version License

Build Status Style Check Code Quality Code Coverage

Total Downloads Monthly Downloads

Symfony's Messenger 的 CQRS

使用 Symfony's Messenger 的 CQRS 实现

安装

Composer

composer require phpgears/cqrs-symfony-messenger

使用

需要 composer 自动加载文件

require './vendor/autoload.php';

命令总线

use Gears\CQRS\Symfony\Messenger\CommandBus;
use Gears\CQRS\Symfony\Messenger\CommandHandlerLocator;
use Symfony\Component\Messenger\MessageBus;
use Symfony\Component\Messenger\Middleware\HandleMessageMiddleware;

$commandToHandlerMap = [];

$messengerBus = new MessageBus([
    new HandleMessageMiddleware(new CommandHandlerLocator($commandToHandlerMap)),
]);

$commandBus = new CommandBus($messengerBus);

/** @var \Gears\CQRS\Command $command */
$commandBus->handle($command);

查询总线

use Gears\CQRS\Symfony\Messenger\QueryBus;
use Gears\CQRS\Symfony\Messenger\QueryHandlerLocator;
use Symfony\Component\Messenger\MessageBus;
use Symfony\Component\Messenger\Middleware\HandleMessageMiddleware;

$queryToHandlerMap = [];

$messengerBus = new MessageBus([
    new HandleMessageMiddleware(new QueryHandlerLocator($queryToHandlerMap)),
]);

$queryBus = new QueryBus($messengerBus);

/** @var \Gears\CQRS\Command $query */
$result = $queryBus->handle($query);

贡献

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

查看 CONTRIBUTING.md 文件

许可证

请查看包含在源代码中的 LICENSE 文件以获取许可证条款副本。