fyre / middleware
一个中间件库。
v2.1.4
2024-06-29 06:50 UTC
Requires
- fyre/server: ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.59
- fyre/php-cs-fixer-config: ^1.0
- phpunit/phpunit: ^10
README
FyreMiddleware 是一个免费的、开源的 PHP 中间件库。
目录
安装
使用 Composer
composer require fyre/middleware
中间件队列
use Fyre\Middleware\MiddlewareQueue;
$queue = new MiddlewareQueue();
添加
添加 中间件。
$queue->add($middleware);
计数
获取 中间件 的数量。
$count = $queue->count();
当前
获取当前索引处的 中间件。
$middleware = $queue->current();
在指定索引处插入
在指定索引处插入 中间件。
$queue->insertAt($index, $middleware);
键
获取当前索引。
$key = $queue->key();
下一个
前进索引。
$queue->next();
前置
前置 中间件。
$queue->prepend($middleware);
重置
重置索引。
$queue->rewind();
有效
确定当前索引是否有效。
$valid = $queue->valid();
中间件
可以通过扩展 \Fyre\Middleware\Middleware
来创建自定义中间件,确保实现所有以下方法。
处理
$request
是一个 ServerRequest。$handler
是一个 RequestHandler。
$response = $middleware->process($request, $handler);
此方法将返回一个 ClientResponse。
实现的方法应调用 RequestHandler 的 handle
方法来处理队列中的下一个中间件。
中间件注册表
use Fyre\Middleware\MiddlewareRegistry;
清除
清除所有别名和中间件。
MiddlewareRegistry::clear();
映射
将别名映射到中间件。
MiddlewareRegistry::map($alias, $middleware);
解析
解析 中间件。
$middleware
是 中间件 类实例或名称、闭包 或一个 MiddlewareRegistry 别名。
$resolvedMiddleware = MiddlewareRegistry::resolve($middleware);
使用
加载一个共享的 中间件 实例。
$alias
是表示中间件别名的字符串。
$middleware = MiddlewareRegistry::use($alias);
请求处理器
use Fyre\Middleware\RequestHandler;
$queue
是一个 MiddlewareQueue。$initialResponse
是用作初始响应的 ClientResponse,默认为 null。
$handler = new RequestHandler($queue, $initialResponse);
如果 $initialResponse
设置为 null,则创建一个新的 ClientResponse。
处理
处理队列中的下一个中间件。
$request
是一个 ServerRequest。
$response = $handler->handle($request);
此方法将返回一个 ClientResponse。