fyre/middleware

一个中间件库。

v2.1.4 2024-06-29 06:50 UTC

This package is auto-updated.

Last update: 2024-09-29 07:16:25 UTC


README

FyreMiddleware 是一个免费的、开源的 PHP 中间件库。

目录

安装

使用 Composer

composer require fyre/middleware

中间件队列

use Fyre\Middleware\MiddlewareQueue;
$queue = new MiddlewareQueue();

添加

添加 中间件

$queue->add($middleware);

计数

获取 中间件 的数量。

$count = $queue->count();

当前

获取当前索引处的 中间件

$middleware = $queue->current();

在指定索引处插入

在指定索引处插入 中间件

  • $index 是代表索引的数字。
  • $middleware 是一个 中间件 类实例或名称、闭包 或一个 中间件注册表 别名。
$queue->insertAt($index, $middleware);

获取当前索引。

$key = $queue->key();

下一个

前进索引。

$queue->next();

前置

前置 中间件

$queue->prepend($middleware);

重置

重置索引。

$queue->rewind();

有效

确定当前索引是否有效。

$valid = $queue->valid();

中间件

可以通过扩展 \Fyre\Middleware\Middleware 来创建自定义中间件,确保实现所有以下方法。

处理

$response = $middleware->process($request, $handler);

此方法将返回一个 ClientResponse

实现的方法应调用 RequestHandlerhandle 方法来处理队列中的下一个中间件。

中间件注册表

use Fyre\Middleware\MiddlewareRegistry;

清除

清除所有别名和中间件。

MiddlewareRegistry::clear();

映射

将别名映射到中间件。

  • $alias 是表示中间件别名的字符串。
  • $middleware 是表示 中间件 类名称的字符串,或返回 中间件 类实例的闭包。
MiddlewareRegistry::map($alias, $middleware);

解析

解析 中间件

  • $middleware中间件 类实例或名称、闭包 或一个 MiddlewareRegistry 别名。
$resolvedMiddleware = MiddlewareRegistry::resolve($middleware);

使用

加载一个共享的 中间件 实例。

  • $alias 是表示中间件别名的字符串。
$middleware = MiddlewareRegistry::use($alias);

请求处理器

use Fyre\Middleware\RequestHandler;
$handler = new RequestHandler($queue, $initialResponse);

如果 $initialResponse 设置为 null,则创建一个新的 ClientResponse

处理

处理队列中的下一个中间件。

$response = $handler->handle($request);

此方法将返回一个 ClientResponse