jerowork/aura-router-nested-middleware

此包已被放弃,不再维护。未建议替代包。

用于 Aura Router 的 PSR-15 中间件,具有嵌套中间件路由处理功能

0.4.3 2019-04-10 16:37 UTC

This package is auto-updated.

Last update: 2020-08-27 12:23:05 UTC


README

PSR-15 中间件,用于 Aura Router 并具有嵌套中间件路由处理功能。

安装

通过 Composer 安装

$ composer require jerowork/aura-router-nested-middleware

使用方法

use Aura\Router\RouterContainer;
use Jerowork\AuraRouterNestedMiddleware\AuraRouterNestedMiddleware;

// setup Aura Router
$router = new RouteContainer();

// add middleware to your general middleware queue
$middleware[] = new AuraRouterNestedMiddleware($router);

// add routes with middleware
$map = $router->getMap();

$map->get('home', '/', [
    new SomeMiddleware(),
    new AnotherMiddleware(),
    new HomeAction(),
]);

// route with no other middleware than the blog action
$map->get('blog', '/blog', new BlogAction());

带有 PSR-15 实现的 Http 动作

从现在起,每个 http 动作都可以实现 Interop\Http\Server\MiddlewareInterface

示例动作

use Interop\Http\Server\MiddlewareInterface;

class HomeAction implements MiddlewareInterface
{
    /**
     * @inheritDoc
     */
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        $response = $handler->handle($request);
        $response->getBody()->write('Hello world!');
        return $response;
    }
}