我如何知道或设置 Laravel 中任何 HTTP 请求的 id

问题描述 投票:0回答:1

我想分析用户如何在网站上工作。例如,他按顺序打开网站的页面:

-> main page -> product page -> detail page -> ...

这就是为什么我使用“跟踪器”系统并在网站的每个页面上向服务器发送 HTTP 请求。当目前有这么多请求时,很难比较请求。

但我想现在如果我能知道或设置HTTP请求的id(KeepAlive连接)那就太好了。

有人可以向我展示一个有用的方法。

tnx

laravel http tcp request tracker
1个回答
0
投票

您可以使用中间件来做到这一点

创建一个中间件来跟踪路线:

php artisan make:middleware LogRouteMiddleware

LogRoute中间件

class LogRouteMiddleware
{
    public function handle(Request $request, Closure $next)
    {
        $currentRoute = url()->current();// or route name: Route::currentRouteName();
        $previousRoute = url()->previous(); //or route name: app('router')->getRoutes()->match(app('request')->create(url()->previous()))->getName()

        // Store them in DB or Logs. up to you
        return $next($request);
    }
}

应用\Http\Kernel.php

protected $routeMiddleware = [
    // other middleware entries
    'log.route' => \App\Http\Middleware\LogRouteMiddleware::class,
];

web.php pi.php

Route::group(['middleware' => ['log.route']], function() {
    ... // all routes you want to track
});

访问当前路线

访问之前的路线

网址方法

© www.soinside.com 2019 - 2024. All rights reserved.