kovagoz / http-middleware-request-dispatcher
PSR-15 兼容的请求分发器
1.0.0
2021-08-01 17:51 UTC
Requires
- php: ^7.4|^8.0
- psr/container: ^1.1|^2.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- phpunit/phpunit: ^9.4.0
- roave/security-advisories: dev-latest
This package is auto-updated.
Last update: 2024-09-29 05:56:48 UTC
README
此中间件的目的在于将请求分发给指定的处理器,通常也称为控制器。
需求
- PHP 7.4 或更高版本
用法
中间件需要一个 解析器 对象来创建适当的请求处理器对象。它必须通过构造函数注入。此包包含一个简单的解析器实现,它使用 PSR-11 兼容的依赖注入容器来完成这项工作
$resolver = new ContainerResolver($container); $middleware = new RequestDispatcher($resolver);
中间件寻找请求对象的一个特殊属性,称为 __handler。该属性指示哪个处理器应该处理请求。如果它不存在,则不会发生任何操作,请求将传递给下一个中间件。
以下是一个示例,说明如何指定哪个处理器应该处理请求
// PSR-7 server request object $request = $request->withAttribute('__handler', MyController::class); $middleware->process($request, $nextMiddleware);