haikara / middleware-stack
该包的最新版本(0.1.0)没有提供许可证信息。
0.1.0
2024-08-20 11:28 UTC
Requires
- php: >=8.0 <8.4.0
- psr/container: ^2.0
- psr/http-message: ^1.1 || ^2.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- laminas/laminas-diactoros: ~2.2
- league/container: ^4.2
README
PSR-15 RequestHandlerInterface的实现。
将中间件堆叠起来,按顺序执行。
基本用法
注册中间件
// $containerはPSR-11:ContainerInterfaceの実装 // 後述のMiddleware1, Middleware2, Middleware3を登録済みのものとする $handler = RequestHandler::createFromContainer($container); // 中心になるAction $action = static function () { echo 'Action' . PHP_EOL; return new Response(); }; $handler->addMiddleware($action); // 一括登録 $handler->addMiddlewares([ Middleware1::class, Middleware2::class, Middleware3::class, ]); // 実行 $response = $handler->handle($request); /* * Middleware3, Middleware2, Middleware1, $actionの順で実行される */
实例化
通过传递PSR-15:ContainerInterface的方式。
$handler = RequestHandler::createFromContainer($container);
通过传递任意处理方式的方式。
$handler = new RequestHandler(fn (string $entry) => $entry);