ellipse / handlers
Psr-15 请求处理器装饰器
1.1.1
2018-03-19 15:44 UTC
Requires
- php: >=7.0
- ellipse/type-errors: ^1.0
- psr/http-message: ^1.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- eloquent/phony-kahlan: ^1.0
- kahlan/kahlan: ^4.0
This package is auto-updated.
Last update: 2024-08-25 23:52:38 UTC
README
本软件包提供了 Psr-15 请求处理器装饰器。
要求 php >= 7.0
安装 composer require ellipse/handlers
运行测试 ./vendor/bin/kahlan
后备请求处理器
请求处理器装饰器的常见起点是当其 ->handle()
方法被调用时返回一个默认响应。本软件包提供了一个实现此逻辑的 Ellipse\Handlers\FallbackRequestHandler
类。
<?php namespace App; use Ellipse\Handlers\FallbackRequestHandler; // Get some fallback Psr-7 response, here with a 404 status code. $response = some_psr7_response_factory()->withStatus(404); // Create a fallback request handler returning the response. $fallback = new FallbackRequestHandler($response); // The response is returned. $response = $fallback->handle($request);
带中间件的请求处理器
本软件包提供了一个允许将中间件包装在请求处理器周围的 Ellipse\Handlers\RequestHandlerWithMiddleware
类。
<?php namespace App; use Ellipse\Handlers\FallbackRequestHandler; use Ellipse\Handlers\RequestHandlerWithMiddleware; // create Psr-15 middleware and request handler. $middleware = new SomeMiddleware; $handler = new FallbackRequestHandler($response); // Wrap the middleware around the request handler. $decorated = new RequestHandlerWithMiddleware($handler, $middleware); // The request goes through the middleware then hit the fallback request handler. $response = $decorated->handle($request);
带中间件栈的请求处理器
本软件包提供了一个允许以 LIFO 顺序将多个中间件包装在请求处理器周围的 Ellipse\Handlers\RequestHandlerWithMiddlewareStack
类。
<?php namespace App; use Ellipse\Handlers\FallbackRequestHandler; use Ellipse\Handlers\RequestHandlerWithMiddlewareStack; // create Psr-15 middleware and request handler. $middleware1 = new SomeMiddleware1; $middleware2 = new SomeMiddleware2; $handler = new FallbackRequestHandler($response); // Wrap the middleware around the request handler in LIFO order. $decorated = new RequestHandlerWithMiddlewareStack($handler, [ $middleware2, $middleware1, ]); // The request goes through middleware1, middleware2, then hit the fallback request handler. $response = $decorated->handle($request);
带中间件队列的请求处理器
本软件包提供了一个允许以 FIFO 顺序将多个中间件包装在请求处理器周围的 Ellipse\Handlers\RequestHandlerWithMiddlewareQueue
类。
<?php namespace App; use Ellipse\Handlers\FallbackRequestHandler; use Ellipse\Handlers\RequestHandlerWithMiddlewareQueue; // create Psr-15 middleware and request handler. $middleware1 = new SomeMiddleware1; $middleware2 = new SomeMiddleware2; $handler = new FallbackRequestHandler($response); // Wrap the middleware around the request handler in FIFO order. $decorated = new RequestHandlerWithMiddlewareQueue($handler, [ $middleware1, $middleware2, ]); // The request goes through middleware1, middleware2, then hit the fallback request handler. $response = $decorated->handle($request);