n3ttech/messeging
Composer 安装命令:
composer require n3ttech/messeging
包简介
CQRS + ES for php
README 文档
README
#Library for handling CQRS and ES
- Define event bus
use N3tt3ch\Messaging\Event; $eventRouterFactory = new Event\EventRouting\EventRouterFactory(); $eventTransporterFactory = new Event\EventTransporting\EventTransporterFactory( $eventRouterFactory->fromDirectory('path to directory with event map'), new Event\EventSourcing\EventProjectionProvider($container) ); $eventBus = new Event\EventBus($eventTransporterFactory->createDefault());
Further we need to create event storage and event stream
use N3tt3ch\Messaging\Event; use N3tt3ch\Messaging\Snapshot; $snapshotStorage = new Snapshot\SnapshotStore\SnapshotStorage($container->get(Snapshot\Persist\SnapshotRepository::class)); $eventStorageFactory = new Event\EventStore\EventStorageFactory($container->get(Event\Persist\EventStreamRepository::class)); $eventStorage = $eventStorageFactory->create($eventBus); $someAggregateRepository = new SomeAggregateRepository($eventStorage, $snapshotStorage);
- Define command bus
use N3tt3ch\Messaging\Command; $commandHandlerProvider = new Command\CommandHandling\CommandHandlerProvider($container); $commandRouterFactory = new Command\CommandRouting\CommandRouterFactory($commandHandlerProvider); $commandTransporterFactory = new Command\CommandTransporting\CommandTransporterFactory($commandRouterFactory->createDefault()); $commandBus = new Command\CommandBus($commandTransporterFactory->createDefault());
- Define query bus
use N3tt3ch\Messaging\Query; $queryHandlerProvider = new Query\QueryHandling\QueryHandlerProvider($container); $queryRouterFactory = new Query\QueryRouting\QueryRouterFactory($queryHandlerProvider); $queryTransporterFactory = new Query\QueryTransporting\QueryTransporterFactory($queryRouterFactory->createDefault()); $queryBus = new Query\QueryBus($queryTransporterFactory->createDefault());
You can use your own message transports. You can use your own message naming strategies.
Please view transport and routing factories.
统计信息
- 总下载量: 29
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-12-02