friendsofhyperf / middleware-plus
为Hyperf提供的中间件组件。
赞助包维护!
huangdijia
hdj.me/sponsors
v3.1.31
2024-06-17 01:41 UTC
Requires
- hyperf/dispatcher: ~3.1.0
This package is auto-updated.
Last update: 2024-09-25 00:30:16 UTC
README
为Hyperf提供的中间件组件。
安装
composer require friendsofhyperf/middleware-plus
使用
- 定义中间件
<?php declare(strict_types=1); namespace App\Middleware; use Psr\Container\ContainerInterface; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\MiddlewareInterface; use Psr\Http\Server\RequestHandlerInterface; class FooMiddleware implements MiddlewareInterface { public function __construct(protected ContainerInterface $container) { } public function process(ServerRequestInterface $request, RequestHandlerInterface $handler, $a = null, $b = null, $c = null): ResponseInterface { var_dump($a, $b, $c); return $handler->handle($request); } }
- 在路由中设置中间件
use App\Middleware\FooMiddleware; Router::addRoute(['GET', 'POST', 'HEAD'], '/', 'App\Controller\IndexController::index', [ 'middleware' => [ FooMiddleware::class . ':1,2,3', ], ]);
- 设置中间件别名
// config/autoload/dependencies.php return [ 'foo-middleware' => App\Middleware\FooMiddleware::class, ];
- 使用别名在路由中设置中间件
use App\Middleware\FooMiddleware; Router::addRoute(['GET', 'POST', 'HEAD'], '/', 'App\Controller\IndexController::index', [ 'middleware' => [ 'foo-middleware:1,2,3', ], ]);