流明:如何从中间件获取 url 参数
Lumen: how can I get url parameters from middleware
这是我的 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。
如果传入的 $request
值是 Illuminate\Http\Request
的实例,我认为可能是,那么 class 有一个名为 input()
的方法,它让你就是这样做的:
你应该试试这个:
$id = $request->input('id');
Laravel 中有一些常规方法不适用于 Lumen。而在中间件中获取参数表单URI就是其中之一。在 Laravel 中,我只需要调用 $request->id
,它就会像魔术一样工作。但是这里为了在 Lumen 中获取参数,我需要做这样的事情:
$request->route()[2]['id']
我认为最新的lumen 5.6官方关于中间件的教程已经不适用了,已经过时了。
这是我的 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。
如果传入的 $request
值是 Illuminate\Http\Request
的实例,我认为可能是,那么 class 有一个名为 input()
的方法,它让你就是这样做的:
你应该试试这个:
$id = $request->input('id');
Laravel 中有一些常规方法不适用于 Lumen。而在中间件中获取参数表单URI就是其中之一。在 Laravel 中,我只需要调用 $request->id
,它就会像魔术一样工作。但是这里为了在 Lumen 中获取参数,我需要做这样的事情:
$request->route()[2]['id']
我认为最新的lumen 5.6官方关于中间件的教程已经不适用了,已经过时了。