lezhnev74/prooph-direct-router
Composer 安装命令:
composer require lezhnev74/prooph-direct-router
包简介
README 文档
README
Implicit routing a command to it's handler
A command is routed to the handler with the same name and "Handler" appended under the same namespace:
namespace Some\Space; // your command class Command {} // your command handler class CommandHandler { function __invoke(Command $cmd) {...} }
Benefits
By using conventions (implicit routing) you can easily add commands\queries without constant updating configuration files. Just put both files in the same folder and follow the name convention:
- Handler class must be name exactly as a Command +
Handlerappended at the end - Both command and a handler must reside under the same namespace
Just a handy tool :)
Installation
composer require lezhnev74/prooph-direct-router
Configuration
In case you use config files in your project, visit your prooph.php config file and update the "service_bus.command_bus.router.type" field.
If you set up message bus manually, then scroll down to the "Usage" section.
//... 'service_bus' => [ 'command_bus' => [ 'router' => [ 'routes' => [ // list of commands with corresponding command handler ], 'type' => \DirectRouter\DirectRouter::class ], ], //…
Usage
This package uses dependency-container to locate the handler for a given command, so you need to install some container package (which supports ContainerInterface)
// // Manual message bus setup // 1. Prepare router $router = new DirectRouter(); $router->attachToMessageBus($commandBus); // 2. Add service locator (to instantiate the handler). $container is your implementation of PSR-11 ContainerInterface $locator = new ServiceLocatorPlugin($container); $locator->attachToMessageBus($bus); // // Dispatch command // $command = new \Some\Space\Command(...); $commandBus->dispatch($command);
lezhnev74/prooph-direct-router 适用场景与选型建议
lezhnev74/prooph-direct-router 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 571 次下载、GitHub Stars 达 0, 最近一次更新时间为 2017 年 04 月 15 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 lezhnev74/prooph-direct-router 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 lezhnev74/prooph-direct-router 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 571
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 6
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-04-15