friendsofhyperf / middleware-plus
The middleware plus component for Hyperf.
Fund package maintenance!
huangdijia
hdj.me/sponsors
Requires
- hyperf/dispatcher: ~3.1.0
This package is auto-updated.
Last update: 2024-10-25 03:50:17 UTC
README
The middleware plus component for Hyperf.
Installation
composer require friendsofhyperf/middleware-plus
Usage
- Define a middleware
<?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); } }
- Set middleware in route
use App\Middleware\FooMiddleware; Router::addRoute(['GET', 'POST', 'HEAD'], '/', 'App\Controller\IndexController::index', [ 'middleware' => [ FooMiddleware::class . ':1,2,3', ], ]);
- Set middleware alias
// config/autoload/dependencies.php return [ 'foo-middleware' => App\Middleware\FooMiddleware::class, ];
- Set middleware in route using alias
use App\Middleware\FooMiddleware; Router::addRoute(['GET', 'POST', 'HEAD'], '/', 'App\Controller\IndexController::index', [ 'middleware' => [ 'foo-middleware:1,2,3', ], ]);