定制 panoscape/remarks 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

panoscape/remarks

Composer 安装命令:

composer require panoscape/remarks

包简介

Eloquent model like and dislike features for Laravel

README 文档

README

Eloquent model like and dislike features for Laravel

Installation

Composer

composer require panoscape/remarks

Service provider

config/app.php

'providers' => [
    ...
    Panoscape\Remarks\RemarksServiceProvider::class,
];

Facades

config/app.php

'aliases' => [
    ...
    'Remarks' => Panoscape\Remarks\Facades\Remarks::class,
];

Remark

config/app.php

'aliases' => [
    ...
    'App\Remark' => Panoscape\Remarks\Remark::class,
];

Migration

php artisan vendor:publish --provider="Panoscape\Remarks\RemarksServiceProvider" --tag=migrations

Before migrating, you'll need to modify the users table in the published migration file to the correct user table used in your application

//TODO: users table
$table->foreign('user_id')->references('id')->on('user')->onDelete('cascade')->onUpdate('cascade');

Usage

Add HasRemarks trait to user model.

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Database\Eloquent\SoftDeletes;
use Panoscape\Remarks\HasRemarks;

class User extends Authenticatable
{
    use Notifiable, SoftDeletes, HasRemarks;
}

Add Remarkable trait to the model that can be remarked.

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Panoscape\Remarks\Remarkable;

class Article extends Model
{
    use Remarkable;
}

Get remarks of a user

//get all remarks
$user->remakrs();
//or dynamic property
$user->remarks;

//get all likes
$user->likes();
//get all dislikes
$user->dislikes();

Get remarks of a remarkable

//get all remarks
$remarkable->remarks();
//or dynamic property
$remarkable->remarks;

//get all likes
$remarkable->likes();
//get all dislikes
$remarkable->dislikes();

Check remark

//check if a remarkable is liked by current user
$remarkable->liked();
//or dynamic property
$remarkable->liked;

//check if a remarkable is liked by a specific user
$remarkable->liked($user);

//same with dislike and remark
$remarkable->disliked();
$remarkable->disliked($user);
$remarkable->remarked($user);
$remarkable->remarked();

//check if a user likes a specific remarkable
$user->liked($remarkable);
//check if a user dislikes a specific remarkable
$user->disliked($remarkable);
//check if a user dislikes/likes a specific remarkable
$user->remarked($remarkable);

//count
$remarkable->likesCount;
$remarkable->dislikesCount;
$remarkable->remarksCount;
$user->likesCount;
$user->dislikesCount;
$user->remarksCount;

Add/Remove/Clear remarks

//add a like for model by current user
$remarkable->like();
//add a like for model by the given user
$remarkable->like($user);

//remove a like from this record for current user
$remarkable->unlike();
//remove a like from this record for the given user
$remarkable->unlike($user);
//clear likes
$remarkable->clearLikes();

//same with dislike
$remarkable->dislike();
$remarkable->dislike($user);
$remarkable->undislike();
$remarkable->undislike($user);
$remarkable->clearDislikes();
$remarkable->clearRemarks();

//on user
$user->like($remarkable);
$user->unlike($remarkable);
$user->dislike($remarkable);
$user->undislike($remarkable);
$user->clearLikes();
$user->clearDislikes();
$user->clearRemarks();

//toggle
$remarkable->toggleLike();
$remarkable->toggleLike($user);
$remarkable->toggleDislike();
$remarkable->toggleDislike($user);
$user->toggleLike($remarkable);
$user->toggleDislike($remarkable);

Scope

//query builder
$remarkable->whereLikedBy($user);
$remarkable->whereLikedBy();
$remarkable->whereDislikedBy($user);
$remarkable->whereDislikedBy();
$remarkable->whereRemarkedBy($user);
$remarkable->whereRemarkedBy();

Remark

//get the remarkable model
$remark->model();
//or dynamic property
$remark->model;

//get the user
$remark->user();
//or dynamic property
$remark->user;

Remarks

use Panoscape\Remarks\Facades\Remarks;
...

///add remark
Remarks::add($remarkable, Remark::LIKE, $user);
//remove
Remarks::remove($remarkable, Remark::LIKE, $user);
//toggle
Remarks::toggle($remarkable, Remark::LIKE, $user);
//check
Remarks::has($remarkable, Remark::LIKE, $user);
//clear
Remarks::clearByModel($remarkable, Remark::ALL);

统计信息

  • 总下载量: 14
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-11-23

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固