摘要:廢話不多說,下面我簡單介紹一下兩個包的用法吧。還有的是這里使用了,如何去理解以及更好地使用最后,當(dāng)然是要感謝超哥。經(jīng)討論更名為更名為更名為更名為
本文主要介紹兩個包:
Laravel - Follow : https://github.com/overtrue/laravel-follow
Laravel - Vote : https://github.com/jcc/laravel-vote
</>復(fù)制代碼
你會疑惑這兩個包有什么用的呢?當(dāng)然如標(biāo)題所說,簡化你關(guān)注和點贊功能,Laravel - Follow 用于關(guān)注功能,Laravel - Vote 用于點贊功能。
如果你看了代碼,你會發(fā)現(xiàn)兩個包的代碼基本上是一致的,當(dāng)要注意,兩個包的應(yīng)用場景是不一樣的。
Laravel - Follow 之前的版本只支持用戶關(guān)注,當(dāng)然最近也做了一些改造工作,實現(xiàn)了多種情景下的應(yīng)用,如:專欄關(guān)注、用戶關(guān)注等情景。
當(dāng)然,Laravel - Vote 也支持多種情景的應(yīng)用,如:文章點贊、評論回復(fù)點贊等。廢話不多說,下面我簡單介紹一下兩個包的用法吧。
安裝Laravel Follow
使用 composer 安裝包:
</>復(fù)制代碼
composer require overtrue/laravel-follow -vvv
添加服務(wù)提供者到 config/app.php 下:
</>復(fù)制代碼
OvertrueLaravelFollowFollowServiceProvider::class
發(fā)布遷移文件:
</>復(fù)制代碼
php artisan vendor:publish --provider="OvertrueLaravelFollowFollowServiceProvider" --tag="migrations"
Laravel Vote
使用 composer 安裝包:
</>復(fù)制代碼
composer require jcc/laravel-vote -vvv
添加服務(wù)提供者到 config/app.php 下:
</>復(fù)制代碼
JccLaravelVoteVoteServiceProvider::class
發(fā)布遷移文件:
</>復(fù)制代碼
php artisan vendor:publish --provider="JccLaravelVoteVoteServiceProvider" --tag="migrations"
用法
當(dāng)然用法也是非常的簡單,你無需顧慮它們間的關(guān)聯(lián)關(guān)系。
Laravel Follow應(yīng)用場景:用戶關(guān)注用戶
首先,在 User 模型中引入 CanFollow 以及 CanBeFollowed :
</>復(fù)制代碼
use OvertrueLaravelFollowCanFollow;
use OvertrueLaravelFollowCanBeFollowed;
class User extends Model
{
use CanFollow, CanBeFollowed;
}
關(guān)注用戶:
</>復(fù)制代碼
$user->follow(1);
// or
$user->follow([1,2,3,4]);
// or
$target = User::find(2);
$user->follow($target);
取消關(guān)注用戶:
</>復(fù)制代碼
$user->unfollow(1);
// or
$user->unfollow([1,2,3,4]);
// or
$target = User::find(2);
$user->unfollow($target);
獲取用戶的關(guān)注者:
</>復(fù)制代碼
$user->followers();
獲取用戶關(guān)注的用戶:
</>復(fù)制代碼
$user->followings();
判斷用戶是否關(guān)注了:
</>復(fù)制代碼
$user->isFollowing(1);
// or
$target = User::find(1);
$user->isFollowing($target);
判斷用戶是否被關(guān)注了:
</>復(fù)制代碼
$user->isFollowedBy(1);
Laravel Vote
應(yīng)用場景:用戶點贊文章
只需在 User 模型中引入 Vote ,在 Post 模型引入 CanBeVoted :
User.php
</>復(fù)制代碼
use JccLaravelVoteVote;
class User extends Model
{
use Vote;
}
Post.php
</>復(fù)制代碼
use JccLaravelVoteCanBeVoted;
class Post extends Model
{
use CanBeVoted;
}
針對 User.php 的操作
用戶點贊文章:
</>復(fù)制代碼
$post = Post::find(1);
$user->upVote($post);
用戶取消點贊文章:
</>復(fù)制代碼
$post = Post::find(1);
$user->cancelVote($post);
獲取用戶已點贊的記錄:
</>復(fù)制代碼
$user->votedItems();
判斷是否已點贊:
</>復(fù)制代碼
$post = Post::find(1);
$user->hasVoted($post);
針對文章的操作
獲取所有點贊的用戶:
</>復(fù)制代碼
$post->voters();
判斷用戶是否有點贊:
</>復(fù)制代碼
$post->isVotedBy(1);
至此,你可以愉快使用這兩個包,當(dāng)然,你需要按照你所需的應(yīng)用場景使用,而不是亂用(Follow 當(dāng)成 Vote 使用等)。還有的是這里使用了 Trait ,如何去理解以及更好地使用 Trait — By Overtrue
最后,當(dāng)然是要感謝超哥 overtrue 。
</>復(fù)制代碼
經(jīng)討論
Laravel Follow
FollowTrait 更名為 CanFollow
FollowerTrait 更名為 CanBeFollowed
Laravel Vote
VoteTrait 更名為 Vote
VoterTrait 更名為 CanBeVoted
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/22692.html
摘要:介紹有關(guān)用戶之間的相互關(guān)注這樣的應(yīng)用場景還是很常見的每個平臺都會有這樣類似的需求就比如和知乎當(dāng)然還有最熟悉的每個人可以有關(guān)注者和粉絲建立模型表這里我們?nèi)ソ⒁粋€中間表可以想象得到的是這張表里包含了兩個用戶的我們可以去創(chuàng)建一個創(chuàng)建完我們的表 介紹 有關(guān)用戶之間的相互關(guān)注這樣的應(yīng)用場景還是很常見的 每個平臺都會有這樣類似的需求 就比如Segmentfault和知乎 當(dāng)然還有最熟悉的Git...
摘要:優(yōu)雅地玩知乎簡介是什么是一個可以讓你以一種優(yōu)雅的形式調(diào)用知乎數(shù)據(jù)的包怎么安裝或者更新使用引用后面的是別稱的意思便于輸入配置用戶配置腳本使用的一共有兩種方法什么都不管腳本會默認(rèn)讀取或者的如果你是其他類的瀏覽器你可以在的自定義文件的路徑在禁用 ZhihuVAPI:優(yōu)雅地玩知乎 簡介 ZhihuVAPI是什么? ZhihuVAPI 是一個可以讓你以一種優(yōu)雅的形式調(diào)用知乎數(shù)據(jù)的 Python ...
摘要:能跑應(yīng)用就不錯了,周六想在服務(wù)器用試試部署開發(fā)環(huán)境。官網(wǎng)內(nèi)測申請方式提供個人企業(yè)聯(lián)系方式及認(rèn)證信息實名企業(yè)營業(yè)執(zhí)照照片或掃描件及申請說明,發(fā)送郵件至即可獲得內(nèi)測資格,申請從速。 前段時間不知道抽上面瘋,買了一臺低配的 ECS,配置就是 1m1u。能跑應(yīng)用就不錯了,周六想在服務(wù)器用 Laradock 試試部署開發(fā)環(huán)境。 安裝 Docker 因為我的系統(tǒng)是 CentOS 7 并且對比 Do...
閱讀 990·2021-11-04 16:08
閱讀 2966·2021-09-13 10:37
閱讀 503·2019-08-30 15:56
閱讀 1947·2019-08-30 15:55
閱讀 2233·2019-08-30 15:53
閱讀 2077·2019-08-30 13:13
閱讀 2915·2019-08-30 12:51
閱讀 1538·2019-08-29 16:06