fys/middleware-bundle

为 symfony 4 提供简单的中间件配置

安装次数: 1

依赖者: 0

建议者: 0

安全: 0

星级: 0

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

dev-master 2019-01-15 11:19 UTC

This package is auto-updated.

Last update: 2024-09-16 03:58:14 UTC


README

通过转发事件 kernel.requestkernel.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 将你的中间件应用于控制器,通过实现此接口,你的控制器应该有一个返回 stringrunMiddleware() 方法
// 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