knot-lib / pipeline
为kNot框架提供的管道库。
0.3.0
2021-06-06 08:11 UTC
Requires
- php: >=7.2
- knot-lib/kernel: ~0.8
- psr/container: ^1.0
- psr/log: ^1.0
Requires (Dev)
- php-coveralls/php-coveralls: ^2.0
- phpunit/phpunit: ^8.5.15
This package is auto-updated.
Last update: 2023-09-06 12:44:58 UTC
README
描述
为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';
许可证
作者
免责声明
此软件无任何保证。
我们不承担因使用此软件而产生的任何结果。
请自行承担责任。