请问路由可以给中间件传递参数吗?

深林孤鹰

定义了几个路由,想复用一个中间件,根据参数载入不同设置,不知有没有办法给中间件传递一个参数呢?谢谢~

749 1 0
1个回答

walkor

类似这样

config/route.php

Route::any('/test', [class, method])->setParams(['some_key' =>'value']);

中间件

class AccessControl implements MiddlewareInterface
{
    public function process(Request $request, callable $handler): Response
    {
        if ($route = $request->route) {
            var_export($route->param('some_key'));
        }
        return $handler($request);
    }
}
年代过于久远,无法发表回答
🔝