warmans/pipeline

此包的最新版本(0.0.3)没有可用的许可证信息。

创建任务管道框架

0.0.3 2014-09-02 09:27 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:29:00 UTC


README

Build Status Code Coverage Scrutinizer Code Quality

创建任务管道以将复杂操作分离成更小的可测试单元。

示例用法

use Pipeline\Pipeline;
use Pipeline\Workload;
use Pipeline\Workload\Task;
use Pipeline\Stage\CallbackStage;

//setup two tasks
$workload = new Workload();
$workload->addTask(new Workload\Task('foo'));
$workload->addTask(new Workload\Task('bar'));

//setup a pipeline
$pipeline = new Pipeline();

//setup two stages
$pipeline->addStage(new CallbackStage('first-stage', function (Task $task) {
    $task->setMeta('done-first', true);
}));
$pipeline->addStage(new CallbackStage('second-stage', function (Task $task) {
    $task->setMeta('done-second', true);
}));

//setup the context to enable logging
$context = new Context();
$context->setLogger(function($msg, $writeLn=true) {
    echo $msg . ($writeLn ? "\n" : "");
});

//execute
$pipeline->execute($workload, $context);

var_dump($workload);