Laravel 获取中间件句柄中的请求参数
我正在经历。并创建了一个中间件“LogAll”,并将其添加到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('
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);
}