kovagoz/http-middleware-request-dispatcher

PSR-15 兼容的请求分发器

1.0.0 2021-08-01 17:51 UTC

This package is auto-updated.

Last update: 2024-09-29 05:56:48 UTC


README

此中间件的目的在于将请求分发给指定的处理器,通常也称为控制器。

phpunit workflow

需求

  • 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);