rvxlab/laravel-analytics

适用于 Laravel 的简单轻量级分析和标签管理器

0.0.3 2024-08-03 13:11 UTC

This package is auto-updated.

Last update: 2024-09-03 13:24:45 UTC


README

🚧 此软件包仍在开发中

一个简单、极其轻量级的分析软件包。

需求

  • Laravel 10+

安装

使用 Composer 安装

composer require rvxlab/laravel-analytics

发布并运行迁移

php artisan vendor:publish --tag="analytics-migrations"

php artisan migrate

可选:发布配置文件

php artisan vendor:publish --tag="analytics-config"

设置

设置分析的方式有两种

  1. 全局
  2. 在路由组中

全局(Laravel 11)

通过在 withMiddleware 调用的 Illuminate\Foundation\Configuration\Middlewares 参数上调用 appendappendToGroup,添加 RVxLab\Analytics\Middleware\RecordPageView 中间件

use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Middleware;
use RVxLab\Analytics\Middleware\RecordPageView;

return Application::configure(basePath: dirname(__DIR__))
    ->withMiddleware(function (Middleware $middleware) {
        $middleware->append([RecordPageView::class]);
        // OR
        $middleware->appendToGroup('<middlewareGroup>', [RecordPageView::class]);
    })->create();

全局(Laravel 10 和 11 没有使用新精简骨架)

RVxLab\Analytics\Middleware\RecordPageView 中间件添加到你的 App\Http\Kernel 中的 middleware 数组的末尾或相关的 middlewareGroups 数组中的末尾

namespace App\Http;

use RVxLab\Analytics\Middleware\RecordPageView;

class Kernel 
{
    protected $middleware = [
        // --snip--
        RecordPageView::class,
    ];

    protected $middlewareGroups = [
        'web' => [
            // --snip--
            RecordPageView::class,
        ],
    ];
}

按路由

您可以将 RVxLab\Analytics\Middleware\RecordPageView 中间件添加到单个路由或一组路由中

use App\Http\Controllers\HomeController;
use RVxLab\Analytics\Middleware\RecordPageView;

Route::get('/', HomeController::class)->middleware([RecordPageView::class]);

// OR

Route::middleware([RecordPageView::class])->group(function () {
    Route::get('/', HomeController::class);
});

处理代理

如果你的应用程序位于代理后面,请确保该代理已在受信任的代理中定义。

如果不这样做,分析中的地址将始终为 127.0.0.1

例如,如果你通过 Laravel Forge 部署了一个简单的网站,你将想要将 '127.0.0.1' 添加到你的受信任代理中。如果你通过 AWS 或 CloudFlare 背后的负载均衡器,你可能不知道请求将来自哪个 IP。在这种情况下,只需将 '*' 添加到你的受信任代理中。

有关更多信息,请参阅 Laravel 受信任代理文档

使用单独的数据库

如果你希望为分析使用单独的数据库,请添加一个名为 ANALYTICS_DB_CONNECTION 的环境变量,并将其设置为你要使用的连接。确保它在你的 config/database.php 文件中存在。

更新日志

请参阅 更新日志 了解最近发生了什么变化。

许可证

MIT 许可证(MIT)。请参阅 许可证文件 了解更多信息。