这是我的routes.php
:
$app->get('/users/{id}/', ['middleware' => 'example', function () {
return "users";
}]);
这是中间件中的handle
函数:
public function handle($request, Closure $next)
{
// I would like to get the value of the url parameter {id} here
return $next($request);
}
有没有办法从中间件获取参数id
?
*编辑*
我正在使用 Lumen 5.1.0 。
答案 0 :(得分:8)
Laravel有一些传统方式不适用于Lumen。并且在中间件中获取参数形式URI就是其中之一。在Laravel中,我只需要打电话给$request->id
,它就像魔法一样。但是为了获得Lumen中的参数,我需要做这样的事情:
$request->route()[2]['id']
答案 1 :(得分:1)
如果传入的$request
值是Illuminate\Http\Request
的实例,我认为它可能是,该类有一个名为input()
的方法,它可以让你做到这一点:< / p>
你应该试试这个:
$id = $request->input('id');
答案 2 :(得分:0)
我认为有关中间件的最新lumen 5.6官方教程不再适用,并且已经过时。