saashagm/analytics

Laravel Analytics 唯一访客和查看数中间件

1.12.1 2024-09-11 18:13 UTC

This package is auto-updated.

Last update: 2024-09-11 18:14:57 UTC


README

Laravel Logo

Total Downloads Latest Stable Version License Code size Code size

PHP Version Laravel Version

Laravel Analytics 唯一访客和查看数中间件

我们的包提供用于在 Laravel 应用程序页面上计算唯一查看和访客的中间件。它对希望跟踪其网站用户行为的网站管理员来说可能很有用。中间件将完全控制对服务器的任何请求。

目录

要求

安装和正常运行所需的基本要求

  • PHP >= 8.0
  • Laravel >= 10.x || 11.x
  • Composer >= 2.4.x

安装

要安装包,需要执行以下命令

  • composer require sashagm/analytics
  • php artisan analytics:install

使用

将中间件 unique.viewsunique.visitors 添加到您想要计算唯一查看和访客的路由中

Route::get('/post/{id}', function ($id) {
    // ваш код
})->middleware(['unique.views', 'unique.visitors']);

还可以这样做

Route::middleware(['unique.views', 'unique.visitors'])->group(function () {
    // Добавьте сюда ваши маршруты

    });

生命周期

您可以通过在应用程序的 .env 文件中添加以下值来设置查看和访客数据保留时间

UNIQUE_ENABLED=true                 // Активировать работу
UNIQUE_VIEWS_TIME=60                // Время хранения данных о просмотрах (в минутах)
UNIQUE_VISITORS_TIME=1440           // Время хранения данных о посетителях (в минутах)
UNIQUE_LOGS=true                    // Логировать данные
UNIQUE_LOGS_DEFAULT_METHOD=true     // Использовать дефолтный вариант логирования(faalse - Кастомный логер)
UNIQUE_LOGS_PATH="logs/custom.log"  // Путь для кастомного логера
UNIQUE_ADMIN="admin.'"              // Какие имемованные маршруты необходимо исключить из учёта
UNIQUE_PROVIDER_USER="User"         // Как пометить пользователей
UNIQUE_PROVIDER_BOTS="Bots"         // Как пометить ботов/роботов/поисковые системы


获取统计数据

此方法将返回过去 7 天内创建的与指定类别相对应的 Statistic 模型实例的集合。您可以使用此集合进一步处理统计数据。

$viewsLastWeek = Statistic::getLastWeek('route');

foreach ($viewsLastWeek as $statistic) {
    // Обработка данных статистики
}

此方法将返回过去 30 天内创建的与指定类别相对应的 Statistic 模型实例的集合。您可以使用此集合进一步处理统计数据。

$category = 'example_category';
$statistics = Statistic::getLast30Days($category);

foreach ($statistics as $statistic) {
    // Обработка данных статистики
}

此方法将返回与指定类别相对应的 Statistic 模型实例的集合,这些实例在所有时间范围内创建。您可以使用此集合进一步处理统计数据。

$category = 'example_category';
$statistics = Statistic::getAllTime($category);

foreach ($statistics as $statistic) {
    // Обработка данных статистики
}

自定义日志记录器

如果您不想使用标准日志文件,您可以使用单独的文件并将日志记录写入其中。只需在 .env 中更改新文件的路径参数 UNIQUE_LOGS_PATH="logs/custom.log"

跟踪

为了理解和区分用户和搜索引擎机器人,您可以在 .env 文件中指定不同的前缀。只需更改 .env 参数 UNIQUE_PROVIDER_USER='User'UNIQUE_PROVIDER_BOTS='Bots'

附加功能

我们的包提供了一系列附加功能,这些功能在处理主题时可能很有用

  • php artisan analytics:install - 此命令将安装包的所有必需文件。

测试

您可以使用 PHPUnit 运行此包的测试。执行以下命令:

  • composer test

许可证

Analytics 是一个开源软件,按照 MIT 许可证 许可。