mehr-it/eli-middleware-chain

PSR-15中间件链式处理

1.0.1 2020-01-09 06:06 UTC

This package is auto-updated.

Last update: 2024-09-26 08:28:07 UTC


README

Latest Version on Packagist Build Status

在定义请求处理链时,通常涉及到多个中间件。`ChainHandler` 允许将 PSR-15 中间件处理堆栈定义为数组或迭代器

$chain = new ChainHandler([
      new MiddlewareA(),
      new MiddlewareB(),
], $next); 

这使得代码更加易于阅读,并允许轻松动态配置中间件链。

为了动态创建中间件实例(仅在需要时)可以使用解析函数

$chain = new ChainHandler([
      function() { return new MiddlewareA(); },
      function() { return new MiddlewareB(); },
], $next); 

中间件而非处理器

有时需要一个中间件链作为中间件本身。`ChainMiddleware` 可以用于此类目的。它的使用方法与 `ChainHandler` 一样简单。

$chain = new ChainMiddleware([
      new MiddlewareA(),
      new MiddlewareB(),
]);