jesseobrien / commandbus
命令总线基础。
Requires
- php: >=5.4.0
- illuminate/container: >=4.2
- illuminate/log: >=4.2
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: 4.3.*
This package is not auto-updated.
Last update: 2024-09-24 07:06:55 UTC
README
此软件包提供了一个有见地的基座,以帮助您开始使用PHP中的命令总线架构。此处的大部分内容均来自与@ShawnMcCool的代码和讨论。结构可能不符合每个人对命令总线实现方式的理解,但它为初学者提供了一条阻力较小的路径。
嗯..这是什么
如果您对命令总线风格的架构不熟悉,我强烈建议您观看@ShawnMcCool在Laracon 2014上发表的演讲。关于学习这种架构的概念和原因的另一个极好的资源是Laracasts上的一个系列,名为命令和领域事件。对于更高级的阅读和学习,请查看Mathias Verraes的网站。
总线
默认情况下,此软件包包含
- 执行总线
- 验证总线
- 日志总线
如何堆叠它们取决于您,但是执行总线必须放在最后,以便将请求传递给最终的handle()
调用。
如果您想查看总线实例化的示例,请查看此处源代码中包含的服务提供程序的register()
方法。
Laravel服务提供者
如果您想将commandbus集成到Laravel中,有一个提供者可用。您只需将其添加到app/config/app.php
中的提供者数组中,然后开始将CommandBus\CommandBus
接口注入到您的控制器和类中。
'CommandBus\CommandBusServiceProvider',
注意:总线的执行顺序为:请求 -> 日志总线 -> 验证总线 -> 执行总线 -> 处理器
。如果您想重新排列总线的执行顺序,完全可以创建自己的服务提供者并重新组织它们。如果您愿意,甚至可以编写自己的总线。
示例请求周期
要设置示例请求周期,我们只需要一个请求对象、处理程序和相应的响应对象。
示例可以在examples目录中找到。