lucid/infuse
Composer 安装命令:
composer require lucid/infuse
包简介
psr7 middlware
README 文档
README
Installation
> composer require lucid/infuse
Requirements
- php >= 5.6
- psr/http-message
- lucid/signal
Usage
The middleware
Middlewares must implement Lucid\Infuse\MiddlewareInterface. They also must return
an array of [Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $respoonse].
<?php namespace Acme\Middleware; use Lucid\Infuse\MiddlewareInterface; use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ServerRequestInterface as Request; class SessoionHandler implements MiddlewareInterface { public function handle(Request $request, Response $response) { // ... return [$request, $response]; } }
The middleware queue
Use QueueInterface::add() to add middlewares to the execution queue.
Middlewares are executed first in last out.
The middleware queue itself implements Lucid\Infuse\MiddlewareInterface and
acts as an entrypoint.
<?php use Lucid\Infuse\Queue; use Lucid\Signale\EventDispatcher; $queue = new Queue(new EventDispatcher); $queue->add($middlewareOmega); // will execute last // … $queue->add($middlewareAlpha); // fill execute first // … list ($request, $response) = $queue->handle($request, $response);
Intercept execution
During middleware exection, the eventdispatcher will fire a request event. Execution will stop if a middleware event is being stopped.
<?php use Lucid\Infuse\Queue; use Lucid\Signale\EventDispatcher; use Lucid\Infuse\Events\RequestEvent; $queue = new Queue($events = new EventDispatcher, 'middleware'); $events->addHandler('middleware', function (RequestEvent $event) { $req = $event->getRequest(); $res = $event->getResponse(); if (…) { $event->setResponse(…); $event->stop(); } });
lucid/infuse 适用场景与选型建议
lucid/infuse 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 19 次下载、GitHub Stars 达 0, 最近一次更新时间为 2016 年 04 月 15 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 lucid/infuse 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 lucid/infuse 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 19
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 16
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-04-15