Lumen:我如何从中间件获取url参数

时间:2015-07-07 15:58:32

标签: php laravel lumen

这是我的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

3 个答案:

答案 0 :(得分:8)

Laravel有一些传统方式不适用于Lumen。并且在中间件中获取参数形式URI就是其中之一。在Laravel中,我只需要打电话给$request->id,它就像魔法一样。但是为了获得Lumen中的参数,我需要做这样的事情:

$request->route()[2]['id']

答案 1 :(得分:1)

如果传入的$request值是Illuminate\Http\Request的实例,我认为它可能是,该类有一个名为input()的方法,它可以让你做到这一点:< / p>

enter image description here

你应该试试这个:

$id = $request->input('id');

答案 2 :(得分:0)

我认为有关中间件的最新lumen 5.6官方教程不再适用,并且已经过时。