exa2040/laravel-view-counter

为您的laravel项目提供视图和点赞计数扩展。

dev-master 2017-01-26 16:17 UTC

This package is not auto-updated.

Last update: 2024-09-23 14:23:56 UTC


README

为您的laravel项目提供视图和点赞计数扩展。如果用户未登录,它将使用会话存储,并在会话活跃时保持清洁(无重复点赞或观看)。如果用户已登录,则将关于点赞和观看的信息存储到数据库中,以获取历史记录。

安装

使用composer安装

composer require exa2040/view-counter

由于该包尚未稳定,请确保将其添加为dev:手动打开"composer.json",然后在require中添加"fraank/view-counter": "dev-master"。

app/config/app.php中添加服务提供者

ExA2040\LaravelViewCounter\ViewCounterServiceProvider::class,

服务提供者将为您的模型注册一个接口,以便使用view_counter和like_couter功能。

要创建基本表,您必须提供迁移文件

php artisan vendor:publish

现在您可以迁移

php artisan migrate

现在您可以在模型中注册点赞和观看功能

class Object extends Eloquent {
  use ExA2040\LaravelViewCounter\ViewCounterTrait;
}

您可以在视图(或控制器)中调用点赞和取消点赞的操作,如下所示

{{ route('view_counter.like', array('class_name' => 'post', 'object_id' => $post->id)) }}
{{ route('view_counter.unlike', array('class_name' => 'post', 'object_id' => $post->id)) }}

示例

基本用法

**在控制器中增加视图计数器(显示操作)

$object->view();

**获取观看数

$object->views_count();

**用户是否观看了对象?

$object->isViewed();

**在控制器中增加点赞计数器(显示操作)

$object->like();

**取消点赞

$object->unlike();

**获取点赞数

$object->likes_count();

**用户是否点赞了对象?

$object->isLiked();