middlewares 和 afterMiddlewares 的区别是什么?
在app/bean.php文件下,存在middlewars和afterMiddlewares两个中间件配置,如下:
'middlewares' => [
\App\Http\Middleware\FavIconMiddleware::class,
\App\Http\Middleware\TrimParamsMiddleware::class,
\App\Http\Middleware\IdValidateMiddleware::class,
// \Swoft\Whoops\WhoopsMiddleware::class,
// Allow use @View tag
\Swoft\View\Middleware\ViewMiddleware::class,
],
'afterMiddlewares' => [
\Swoft\Http\Server\Middleware\ValidatorMiddleware::class
]
但debug发现,在执行中间件时,其实是将两者合并放到了一个$requestMiddlewares的数组中的,如下:

然后,依次执行中间件的process方法。
那么middlewares和afterMiddlewares两项配置的区别在哪?还是说在其他地方有使用上的区别?
)

关于 LearnKu
afterMiddlewares里的中间件总是会追加到middlewares的后面,也就是 after 这里面的 中间件总是在最后被执行。