knot-lib/pipeline

为kNot框架提供的管道库。

0.3.0 2021-06-06 08:11 UTC

This package is auto-updated.

Last update: 2023-09-06 12:44:58 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Code Climate Total Downloads

描述

为kNot框架提供的管道库。

特性

演示

示例 1:如何使用中间件和管道

use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use knotlib\kernel\Request\PhpArrayRequest;
use knotlib\pipeline\pipeline;

class FirstMiddleware implements MiddlewareInterface
{
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler)
    {
        echo 'FirstMiddleware: 1' . PHP_EOL;
        $response = $handler->handle($request);
        echo 'FirstMiddleware: 2' . PHP_EOL;
        return $response;
    }
}
class SecondMiddleware implements MiddlewareInterface
{
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler)
    {
        echo 'SecondMiddleware: 1' . PHP_EOL;
        $response = $handler->handle($request);
        echo 'SecondMiddleware: 2' . PHP_EOL;
        return $response;
    }
}
class ThirdMiddleware implements MiddlewareInterface
{
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler)
    {
        echo 'ThirdMiddleware: 1' . PHP_EOL;
        $response = $handler->handle($request);
        echo 'ThirdMiddleware: 2' . PHP_EOL;
        return $response;
    }
}

$pipeline = new pipeline();
$pipeline->push(new FirstMiddleware());
$pipeline->push(new SecondMiddleware());
$pipeline->push(new ThirdMiddleware());

$pipeline->run(new PhpArrayRequest);

输出

ThirdMiddleware: 1
SecondMiddleware: 1
FirstMiddleware: 1
FirstMiddleware: 2
SecondMiddleware: 2
ThirdMiddleware: 2

用法

要求

PHP 7.2 或更高版本

安装 knot-lib/pipeline

推荐通过 Composer 安装 knot-lib/pipeline。

composer require knot-lib/pipeline

安装后,您需要引入Composer的自动加载器

require 'vendor/autoload.php';

许可证

MIT

作者

stk2k

免责声明

此软件无任何保证。

我们不承担因使用此软件而产生的任何结果。

请自行承担责任。