ledc/pipeline

管道模式 ledc/pipeline

Maintainers

👁 ledccn

Package info

github.com/ledccn/pipeline

pkg:composer/ledc/pipeline

Statistics

Installs: 94

Dependents: 3

Suggesters: 0

Stars: 0

Open Issues: 0

v8.0.0 2024-03-27 14:57 UTC

Requires

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 2f0d6d37695d5046d8898675f2a0a327491e395c

  • david <367013672.woop@qq.com>

This package is auto-updated.

Last update: 2026-06-29 02:23:31 UTC


README

composer require ledc/pipeline

使用 Usage

<?php
use Ledc\Pipeline\Pipeline;

//初始数据
class Request
{
 public int $number = 1;
}

//管道数组
$pipes = [];
foreach (range(1, 3) as $row) {
 $pipes[] = function ($request, $next) use ($row) {
 echo 'pipe-before' . $row . PHP_EOL;
 $request->number += $row;
 $request = $next($request);
 echo 'pipe-after' . $row . PHP_EOL;
 return $request;
 };
}

//核心逻辑
$init = function ($request) {
 echo 'init start' . PHP_EOL;
 var_dump($request);
 echo 'init end' . PHP_EOL;
 return 'init';
};

$pipeline = new Pipeline();
$result = $pipeline->send(new Request())
 ->through($pipes)
 ->then($init);

var_dump($result);