Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 获取中间件句柄中的请求参数_Laravel_Laravel 5_Laravel Routing_Laravel Middleware - Fatal编程技术网

Laravel 获取中间件句柄中的请求参数

Laravel 获取中间件句柄中的请求参数,laravel,laravel-5,laravel-routing,laravel-middleware,Laravel,Laravel 5,Laravel Routing,Laravel Middleware,我正在经历。并创建了一个中间件“LogAll”,并将其添加到Kernel.php中的$middleware数组中 一切正常,除了我在LogAll的handle方法中没有请求参数(post或get) public function handle($request, Closure $next) { var_dump($request->all()); return $next($request); } 它打印一个空数组。调用与此路由匹配的url时: Route::get('

我正在经历。并创建了一个中间件“LogAll”,并将其添加到
Kernel.php
中的
$middleware
数组中

一切正常,除了我在
LogAll的
handle
方法中没有请求参数(post或get)

public function handle($request, Closure $next)
{
    var_dump($request->all());
    return $next($request);
}
它打印一个空数组。调用与此路由匹配的url时:

Route::get('/{id}', ['as' => 'profile', function($id) {
    return $id;
}]);

请注意,我在
boot
方法中添加了一个路由模式,用于检查
id
是否为数字。

要检索路由参数,应使用
route()


它抛出一个错误:
Request.php第674行中的FatalErrorException:调用非对象上的成员函数参数()
,这是因为全局中间件在路由发生之前运行。您想要完成什么?记录所有请求。(仅用于测试目的)然后我只需记录
$request->uri()
,或者创建一个在处理请求后运行的中间件。
public function handle($request, Closure $next)
{
    echo $request->route('id');
    return $next($request);
}