usualdesigner / yii2-hitable-behavior

该软件包已被 废弃 且不再维护。未建议替代软件包。

安装: 984

依赖: 0

建议者: 0

安全性: 0

星标: 9

关注者: 3

分支: 9

开放问题: 0

类型:yii2-extension

dev-master 2020-07-09 08:39 UTC

This package is not auto-updated.

Last update: 2023-05-11 22:17:01 UTC


README

安装

运行命令

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

或者添加

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

到您的 composer.json 文件的 require 部分。

主要迁移

$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(),
]);

配置

<?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)
            ]
        ];
    }
}

基本用法

$post = Post::findOne(1);

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


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

测试

如何运行测试