descom / pipeline
用于注入插件的 pipeline
2.3.0
2024-04-18 14:49 UTC
Requires
- php: ^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.4
- phpstan/phpstan: ^1.2
- phpunit/phpunit: ^9.3|^10.0|^10.5
This package is auto-updated.
Last update: 2024-09-18 15:49:46 UTC
README
安装
通过 Composer
composer require descom/pipeline
用法
创建阶段
示例
创建 Pipeline
use Descom\Pipeline\PipeLine; class SamplePipeline extends PipeLine {}
配置插件以添加阶段
SamplePipeline::getInstance() ->pipe(new DoubleStage()) ->pipe(new IncreaseStage());
处理 pipeline 以转换核心中的数据
$payload = 10; $payload = SamplePipeline::getInstance() ->process($payload); // return 21 (10 * 2) + 1
选项
也许您需要向阶段添加选项,例如,将值加倍次数。您可以通过调用 with
方法向阶段添加选项。
$payload = 10; $payload = SamplePipeline::getInstance() ->process($payload, [ 'twiceDouble' => 3, 'twiceIncrease' => 2 ]); // return 82 (10 * 2 ^ 3) + (1 + 1)
您可以定义 DoubleStage
如下
class DoubleStage extends Stage { public function handle($payload): int { $twiceDouble = $this->option('twiceDouble') ?? 1; return $payload * pow(2, $twiceDouble); } }
测试
composer test