stratadox/command-handling

v0.2 2019-09-21 16:48 UTC

This package is auto-updated.

Last update: 2024-09-22 04:19:30 UTC


README

简单的命令处理机制。

Build Status Coverage Status Scrutinizer Code Quality

安装

使用 composer require stratadox/command-handling 安装

示例

<?php
use Stratadox\CommandHandling\CommandBus;

$bus = CommandBus::handling([
    SomeCommand::class => new SomeHandler(),
    OtherCommand::class => new OtherHandler(),
]);
$bus->handle(new SomeCommand('foo'));

术语表

命令

命令是代表操作请求的简单消息(DTO)。这些命令与在 GOF 设计模式 中描述的不同类型,而是来自 CQRS 领域的命令消息。

处理程序

命令处理程序接收命令,要么接受它们并启动操作,要么拒绝它们并抛出异常。

总线

命令总线将输入命令路由到适当的处理程序。

中间件

中间件可以配置为在处理命令之前或之后执行操作,或者在异常情况下执行。

这样的中间件可用于引入所有请求的自动日志记录,自动拒绝未授权访问或处理持久性问题。以这种方式使用中间件功能,可以带来人们称之为面向方面编程的好处,而不必承受其大部分缺点。