nicwortel/command-pipeline
Composer 安装命令:
composer require nicwortel/command-pipeline
包简介
A command pipeline for PHP
README 文档
README
An in-memory Command Pipeline implementation for PHP. A command pipeline handles cross-cutting concerns in a CQRS application that works with command objects, such as validation of commands, authorization, logging, etc.
Commands are processed in a linear process. The return value of each stage is passed to the next. A stage can only prevent the next stage from being executed by throwing an exception.
The concept of the command pipeline is loosely based on the Pipes and Filters pattern.
Features
- Command validation
- Command authorization
- Wrapping command handling in a Doctrine database transaction
- Dispatching emitted domain events to an event bus
Installation
composer require nicwortel/command-pipeline
If you are using Symfony, enable the CommandPipelineBundle:
// config/bundles.php return [ // ... NicWortel\CommandPipeline\Bundle\CommandPipelineBundle::class => ['all' => true], ];
Usage
Fetch the command_pipeline service from the service container or (recommended) inject the CommandPipeline into your
application code:
<?php declare(strict_types=1); use NicWortel\CommandPipeline\CommandPipeline; // ... class MyController { private CommandPipeline $commandPipeline; public function __construct(CommandPipeline $commandPipeline) { $this->commandPipeline = $commandPipeline; } public function saveAction(): Response { $command = new MyCommand(); $command->foo = 'bar'; $this->commandPipeline->process($command); // ... } }
统计信息
- 总下载量: 193
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-09-26