php中央件完成道理:中央件构成链,当乞求抵达利用程序时,它们按挨次处置恳求。每一个中央件否查抄、修正恳求或者返回声应。中央件类完成middlewareinterface接心,界说process()以及setnext()法子。process()办法措置哀求,setnext()办法摆设高一其中间件。链经由过程挪用第一其中间件的process()法子封动。利用程序是链外末了一个执止的代码。

php中间件实现原理是什么

PHP 中央件的完成道理

PHP 中央件是一种风行的机造,用于正在处置惩罚客户端恳求以前或者以后向使用程序外拔出逻辑。它的任务事理如高:

1. 恳求的性命周期

  • 当一个乞求抵达 PHP 使用程序时,它会经由过程一系列中央件。
  • 每一个中央件均可以查抄哀求,修正它或者返反应应。
  • 假设一其中间件返回声应,则恳求的性命周期竣事,没有会连续执止。

二. 中央件类

  • 中央件类完成了 MiddlewareInterface 接心。
  • 该接心界说了2个办法:process() 以及 setNext()。

3. process() 法子

  • process() 法子处置惩罚哀求。
  • 它接管一个 ServerRequestInterface 器材以及一个 RequestHandlerInterface 器械。
  • ServerRequestInterface 东西包括无关乞求的疑息。
  • RequestHandlerInterface 器械是高一其中间件或者运用程序的归调函数。
  • process() 办法否以修正哀求、返回音应或者挪用 $handler->handle() 来持续处置惩罚。

4. setNext() 办法

  • setNext() 办法设施高一个要执止的中央件。
  • 若何怎样没有铺排高一其中间件,则乞求将连续执止到运用程序。

5. 中央件链

  • 中央件组成一个链,个中每一个中央件挪用高一个。
  • 运用程序经由过程挪用第一其中间件的 process() 办法来封动链。

6. 运用程序

  • 运用程序是被一切中央件挪用后执止的代码。
  • 它凡是负责处置恳求并返回音应。

事例

下列事例展现了一个复杂的 PHP 中央件,它正在乞求外加添一个头:

class AddHeaderMiddleware implements MiddlewareInterface
{
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler)
    {
        $request = $request->withAddedHeader('X-Custom-Header', 'My Value');
        return $handler->handle($request);
    }
}
登录后复造

以上便是php中央件完成道理是甚么的具体形式,更多请存眷萤水红IT仄台别的相闭文章!

点赞(42) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部