中间件

当你需要在Request请求进入之后,到进入Controller之前,你需要一些操作,比如CSRF token 验证等。这个时候你要用到这个中间件(middleware)

使用

1、注册Middleware Listener到Appkernel

找到 src/App里面的 AppKernel 增加一行代码:

$this->registerMiddlewareListener(MiddlewareListener::class, "onMiddlewareAction");
<?php

namespace TastPHP\App;

use TastPHP\Framework\Event\AppEvent;
use TastPHP\Framework\Kernel;
use TastPHP\FrontBundle\Listener\MiddlewareListener;

class AppKernel extends Kernel
{
    public function __construct(array $values = [])
    {
        $this->registerMiddlewareListener(MiddlewareListener::class, "onMiddlewareAction");
        parent::__construct($values);
    }
}

2、创建自定义的MiddlewareListener

进入 src/FrontBundle/Listener 目录,创建一个Listener后缀的MiddlewareListener.php文件,内容如下:

<?php

namespace TastPHP\FrontBundle\Listener;

use TastPHP\Framework\Event\MiddlewareEvent;

class MiddlewareListener
{
    public function onMiddlewareAction(MiddlewareEvent $event)
    {
        echo "onMiddlewareAction ~";
    }
}

3、开始测试吧

打开浏览器,出现结果类似如下,说明成功:

onMiddlewareAction ~
indexAction ~

results matching ""

    No results matching ""