analytics

Analytics Unique Visitors and Views Middleware для Laravel +10.x

MIT License

Downloads
23
Stars
2

Laravel Analytics Unique Visitors and Views Middleware

Наш пакет предоставляет middleware для подсчета уникальных просмотров и посетителей на страницах вашего Laravel приложения. Он может быть полезен для веб-мастеров, которые хотят отслеживать действия ваших пользователей на своем сайте. Middleware будут полностью контролировать любые запросы к серверу.

Оглавление:

Требования

Основные требования для установки и корректной работы:

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

Установка

Для установки пакета необходимо выполнить команды:

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

Использование

Добавьте middleware unique.views и unique.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"         // Как пометить ботов/роботов/поисковые системы


Получения статистики

Этот метод будет возвращать коллекцию экземпляров модели Statistic, которые соответствуют указанной категории и были созданы за последние 7 дней. Вы можете использовать эту коллекцию для дальнейшей обработки данных статистики.


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

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

Этот метод будет возвращать коллекцию экземпляров модели Statistic, которые соответствуют указанной категории и были созданы за последние 30 дней. Вы можете использовать эту коллекцию для дальнейшей обработки данных статистики.

$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 параметры UNIQUE_PROVIDER_USER='User' и UNIQUE_PROVIDER_BOTS='Bots'

Дополнительные возможности

Наш пакет предоставляет ряд дополнительных возможностей, которые могут быть полезны при работе с темами:

  • php artisan analytics:install - Данная команда установит все необходимые файлы пакета.

Тестирование

Вы можете запустить тесты для этого пакета, используя PHPUnit. Для этого выполните команду:

  • composer test

Лицензия

Analytics - это программное обеспечение с открытым исходным кодом, лицензированное по MIT license.