yii2-statistics
Пакет для вывода статистики посетителей по их IP адресам для сайта/приложения на Yii-2., (*1)
Особенности и преимущества данного пакета:, (*2)
- Пакет не использует внешние сервисы, данные хранятся в отдельной таблице базы данных.
 
- Статистика формируется на основе уникальных IP адресов посетителей сайта/приложения.
 
- Используется функция для отсеивания из данных статистики поисковых ботов.
 
- Есть возможность добавления IP, которые не нужны в статистике в черный спискок.
 
- Удобная фильтрация вывода результатов статистики (за день, период, по-определенному IP).
 
Какая информация выводится по каждому отдельному посетителю:
*   Его уникальный IP адрес с возможностью получения информации о его местонахождении.
*   URL просматриваемой страницы и количество переходов.
*   Время посещения определенной страницы., (*3)
Установка
- Установка пакета с помощью Composer.
 
composer require klisl/yii2-statistics
- Выполнить миграцию для создания нужной таблицы в базе данных (консоль):
 
yii migrate --migrationPath=@Klisl/Statistics/migrations --interactive=0
- Если необходимо – переопределить настройки пакета в файле common/config/params.php (advanced) или config/params.php (basic):
 
<?php
return [
    'statistics' => [
        'days_default' => 3, //кол-во дней для вывода статистики по-умолчанию (сегодня/вчера/...)
        'password' => 'klisl', //пароль для входа на страницу статистики. Если false (без кавычек) - вход без пароля
        'authentication' => false, //если true, то статистика доступна только аутентифицированным пользователям
        'auth_route' => 'site/login', //контроллер/действие для страницы аутентификации (по-умолчанию 'site/login')
        'date_old' => 90 //удалять данные через х дней
    ]
…
для этого вставить массив 'statistics' с нужными вложенными элементами.
Для включения опции "authentication" должна быть реализована аутентификация пользователей., (*4)
Использование
- Разместить (переопределить метод behaviors) в контроллерах ответственных за вывод страниц по которым нужно собирать статистику:
 
public function behaviors()
{
    return [
        'statistics' => [
            'class' => \Klisl\Statistics\AddStatistics::class,
            'actions' => ['index', 'contact'],
        ],
…
где в качестве значений массива с ключем 'actions' указать нужные действия контроллера., (*5)
В качестве альтернативы можно (не переопределяя метод behaviors) указать в каждом необходимом действии такой код:, (*6)
$this->attachBehavior('statistics', [
    'class' => \Klisl\Statistics\AddStatistics::class,
    'actions' => [$this->action->id]
]);
- Для перехода на страницу статистики
- с включенным ЧПУ в настройках Вашего приложения:
http://ВАШ_САЙТ.COM/statistics
 
 
- без ЧПУ:
http://ВАШ_САЙТ.COM/web/index.php?r=statistics/stat/index
 
Откроется форма для входа на страницу с вводом пароля или страница аутентификации (в зависимости от настроек).
После ввода правильных данных, откроется сама страница статистики с формами для фильтрации., (*7)
Пароль для входа, по-умолчанию: klisl, (*8)
При тестировании на локальном компьютере, в статистику попадет IP 127.0.0.1. 
После начала использования пакета на хостинге, необходимо будет добавить свой IP в черный список, чтобы он не выводился в статистике., (*9)
, (*10)
Мой блог: klisl.com, (*11)