fys / middleware-bundle
为 symfony 4 提供简单的中间件配置
dev-master
2019-01-15 11:19 UTC
Requires
- php: >=7.1.0
This package is auto-updated.
Last update: 2024-09-16 03:58:14 UTC
README
通过转发事件 kernel.request
和 kernel.response
到你的中间件,提供 symfony 4 简单中间件
入门指南
安装
composer require fys/middleware-bundle
创建你的第一个中间件
- 为你的中间件类创建服务定义,并在你的服务定义上标记
middleware
(在这个例子中,我们将在App\Middleware\AuthMiddleware
中创建AuthMiddleware
)
// app/config/services.yaml
services:
App\Middleware\AuthMiddleware:
tags: ["middleware"]
// App\Middleware\AuthMiddleware
<?php
namespace App\Middleware\AuthMiddleware;
use FYS\MiddlewareBundle\Contract\MiddlewareInterface;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
class AuthMiddleware implements MiddlewareInterface
{
public function getAlias()
{
return 'auth';
}
public function onRequest(GetResponseEvent $event)
{
// do your action here
}
public function onResponse(FilterResponseEvent $event)
{
// do your action here
}
}
- 通过实现
FYS\MiddlewareBundle\Contract\MiddlewareControllerInterface
将你的中间件应用于控制器,通过实现此接口,你的控制器应该有一个返回string
的runMiddleware()
方法
// App\Controller\TestController
<?php
namespace App\Controller\TestController;
use FYS\MiddlewareBundle\Contract\MiddlewareControllerInterface;
class TestController implements MiddlewareControllerInterface
{
// your logic controller
public function runMiddleware()
{
return 'auth';
}
}
- 完成!现在每个对 TestController 的请求都将应用 AuthMiddleware