klisl/yii2-statistics

Package for getting statistics by IP for your site in Yii-2

Installs: 353

Dependents: 0

Suggesters: 0

Security: 0

Stars: 6

Watchers: 3

Forks: 3

Open Issues: 1

Type:yii2-extension

2.2 2018-04-03 13:41 UTC

This package is not auto-updated.

Last update: 2024-11-14 11:50:37 UTC


README

Пакет для вывода статистики посетителей по их IP адресам для сайта/приложения на Yii-2.

Особенности и преимущества данного пакета:

  • Пакет не использует внешние сервисы, данные хранятся в отдельной таблице базы данных.
  • Статистика формируется на основе уникальных IP адресов посетителей сайта/приложения.
  • Используется функция для отсеивания из данных статистики поисковых ботов.
  • Есть возможность добавления IP, которые не нужны в статистике в черный спискок.
  • Удобная фильтрация вывода результатов статистики (за день, период, по-определенному IP).

Какая информация выводится по каждому отдельному посетителю:

  • Его уникальный IP адрес с возможностью получения информации о его местонахождении.
  • URL просматриваемой страницы и количество переходов.
  • Время посещения определенной страницы.

Установка

  • Установка пакета с помощью 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" должна быть реализована аутентификация пользователей.

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

  • Разместить (переопределить метод behaviors) в контроллерах ответственных за вывод страниц по которым нужно собирать статистику:
public function behaviors()
{
    return [

        'statistics' => [
            'class' => \Klisl\Statistics\AddStatistics::class,
            'actions' => ['index', 'contact'],
        ],
…

где в качестве значений массива с ключем 'actions' указать нужные действия контроллера.

В качестве альтернативы можно (не переопределяя метод behaviors) указать в каждом необходимом действии такой код:

$this->attachBehavior('statistics', [
    'class' => \Klisl\Statistics\AddStatistics::class,
    'actions' => [$this->action->id]
]);
  • Для перехода на страницу статистики

Откроется форма для входа на страницу с вводом пароля или страница аутентификации (в зависимости от настроек). После ввода правильных данных, откроется сама страница статистики с формами для фильтрации.

Пароль для входа, по-умолчанию: klisl

При тестировании на локальном компьютере, в статистику попадет IP 127.0.0.1. После начала использования пакета на хостинге, необходимо будет добавить свой IP в черный список, чтобы он не выводился в статистике.

enter image description here

Мой блог: klisl.com