vladbara705/yii2-statistics

Package


Keywords
statistics, yii2
License
MIT

Documentation

yii2-statistics

Расширение предназначено для сбора статистики приложения.

Возможности

  • Сбор статистики по определенному типу или его подтипу.

  • Построение двух типов диаграмм в зависимости от наличия подтипа статистики.

  • Установка ограничений на сбор статистики по определенному IP адресу.

  • Установка ограничений на сбор статистики для поисковых ботов

  • Установка ограничений на сбор статистики по уникальным посетителям

  • Переопределение маршрута для страницы со статистикой

  • Установка Basic авторизации для страницы со статистикой

Установка

  • Установка пакета с помощью Composer
composer require vladbara705/yii2-statistics

После настройки соединения с БД выполните в консоли следующую команду:

$ php yii statistics/init

И выберите операцию, которую вы хотите выполнить:

  1. Применить все миграции модулей

  2. Отменить все миграции модулей

Миграции

В любом случае вы можете выполнить миграцию, выполнив в консоли следующую команду:

$ php yii migrate --migrationPath=@vendor/vladbara705/yii2-statistics/src/migrations

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

Для настройки пакета необходимо вставить массив 'statistics' в common/config/params.php (advanced) или config/params.php (basic):

...
    'statistics' => [
        'blackListIp' => [127.0.0.1, ...],
        'trackRobots' => true, // по умолчанию false
        'statisticsRoute' => 'statistics/test', // по умолчанию statistics
        'authData' => ['admin' => 'admin'], // по умолачнию null, если не указано 'authentication' => true - авторизация работать не будет
        'authentication' => true // по умолчанию false
    ],
...

Отслеживание статистики:

Переопределить метод behaviors в контроллерах ответственных за вывод страниц по которым нужно собирать статистику:

public function behaviors()
{
    return [

        'statistics' => [
            'class' => \vladbara705\statistics\behaviors\Statistics::class,
            'actions' => ['index', 'contact'],
            'type' => ['type', 'exraType'], // будет создана статистика (круглая диаграмма) с типом type и подтипом extraType (можно указать свой любой тип).
            //'type' => ['type1'] или 'type' => 'type1' |  будет создана статистика (столбчатая диаграмма) с типом type1 (можно указать свой любой тип).
            'uniqueUser' => true // по умолчанию false, установка этого параметра позволяет отслеживать только уникальных посетителей за день
        ],
...

Для более гибкой настройки статистики предлагается прикрепить в каждом необходимом действии поведение:

$this->attachBehavior('statistics', [
    'class' => \vladbara705\statistics\behaviors\Statistics::class,
    'actions' => [$this->action->id],
    'type' => ['type', 'exraType'], // будет создана статистика (круглая диаграмма) с типом type и подтипом extraType (можно указать свой любой тип).
    //'type' => ['type1'] или 'type' => 'type1' |  будет создана статистика (столбчатая диаграмма) с типом type1 (можно указать свой любой тип).
    'uniqueUser' => true // по умолчанию false, установка этого параметра позволяет отслеживать только уникальных посетителей за день    
]);