middleware-dispatcher
middleware-dispatcher copied to clipboard
Middleware attribute
Q | A |
---|---|
Is bugfix? | ❌ |
New feature? | ✔️ |
Breaks BC? | ❌ |
It allows users to use middlewares like the following:
<?php
declare(strict_types=1);
namespace Yiisoft\Middleware\Dispatcher\Tests\Support;
use Nyholm\Psr7\Response;
use Psr\Http\Message\ResponseInterface;
use Yiisoft\Middleware\Dispatcher\Attribute\Middleware;
final class TestController
{
public function index(): ResponseInterface
{
return new Response(200, ['test' => 'yii']);
}
#[Middleware([
'class' => ResponseMiddleware::class,
'__construct()' => [200],
])]
public function error(): ResponseInterface
{
return new Response(404);
}
#[Middleware([
'class' => SetHeaderMiddleware::class,
'__construct()' => ['x-test1', 'yii1'],
])]
#[Middleware([
'class' => SetHeaderMiddleware::class,
'__construct()' => ['x-test2', 'yii2'],
])]
#[Middleware([
'class' => SetHeaderMiddleware::class,
'__construct()' => ['x-test3', 'yii3'],
])]
public function severalMiddlewares(): ResponseInterface
{
return new Response(404);
}
}