2017 © Pedro Peláez
 

yii2-extension yii2-hitable-behavior

image

usualdesigner/yii2-hitable-behavior

  • Sunday, May 27, 2018
  • by usualdesigner
  • Repository
  • 4 Watchers
  • 7 Stars
  • 239 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 8 Forks
  • 1 Open issues
  • 1 Versions
  • 12 % Grown

The README.md

Hitable behavior for Yii2

Installation

Run command, (*1)

composer require usualdesigner/yii2-hitable-behavior "dev-master"

or add, (*2)

"usualdesigner/yii2-hitable-behavior": "dev-master"

to the require section of your composer.json file., (*3)

Main migration

$this->createTable('{{%hits}}', [
    'hit_id' => $this->primaryKey(),
    'user_agent' => $this->string()->notNull(),
    'ip' => $this->string()->notNull(),
    'target_group' => $this->string()->notNull(),
    'target_pk' => $this->string()->notNull(),
    'created_at' => $this->integer()->notNull(),
]);

Configuring

<?php

class Post extends \yii\db\ActiveRecord
{
    public function behaviors()
    {
        return [
            'hit' => [
                'class' => \usualdesigner\yii2\behavior\HitableBehavior::class(),
                'attribute' => 'hits_count',    //attribute which should contain uniquie hits value
                'group' => false,               //group name of the model (class name by default)
                'delay' => 60 * 60,             //register the same visitor every hour
                'table_name' => '{{%hits}}'     //table with hits data
                'db' => Yii::$app->db,          //cross DB connection (optional)
            ]
        ];
    }
}

Basic usage

$post = Post::findOne(1);

//increase counter
$post->getBehavior('hit')->touch();


//get hits count
echo $post->getBehavior('hit')->getHitsCount();

Tests

How to run the tests, (*4)

The Versions

27/05 2018

dev-master

9999999-dev

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

by Aleksey Bernackiy

yii2 hit counter