使用laravel根據(jù)用戶(hù)類(lèi)型來(lái)顯示或隱藏字段
在api開(kāi)發(fā)中,有時(shí)候需要對(duì)自己以外的其他普通用戶(hù)隱藏字段,比如隱藏手機(jī)號(hào)。而對(duì)于admin用戶(hù),則又不需要隱藏手機(jī)號(hào)。
所以,需要設(shè)計(jì)一種能夠簡(jiǎn)單的根據(jù)不同用戶(hù)來(lái)顯示或隱藏字段的方式。
方法基于laravel實(shí)現(xiàn)
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* 重寫(xiě)toArray方法
*/
public function toArray(){
//獲取api用戶(hù)
$me=app(Request::class)->user("api");
if ($me!=null)
{
if ($me instanceof AdminUser)
{
//如果是admin用戶(hù)
//TODO:使用admin用戶(hù)的顯示規(guī)則
}else if($me instanceof User){
if ($me->id==$this->id)
{
//如果是自己
//TODO:使用面向自己的顯示規(guī)則
}else{
//如果是其他普通用戶(hù)
//TODO:使用面向其他普通用戶(hù)的顯示規(guī)則
}
}
}
return parent::toArray();
}
}
這樣實(shí)現(xiàn)后,就不需要針對(duì)每一個(gè)api去修改規(guī)則了
以上這篇使用laravel根據(jù)用戶(hù)類(lèi)型來(lái)顯示或隱藏字段就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
php上傳文件,創(chuàng)建遞歸目錄的實(shí)例代碼
這篇文章介紹了php上傳文件,創(chuàng)建遞歸目錄的實(shí)例代碼,有需要的朋友可以參考一下2013-10-10
thinkphp項(xiàng)目如何自定義微信分享描述內(nèi)容
本文主要講述:在thinkphp框架中,如何獲取微信分享接口權(quán)限、如何設(shè)置安全域名、如何修改微信分享標(biāo)題、修改微信分享描述、修改微信分享圖片、如何定制微信分享內(nèi)容2017-02-02
Yii框架創(chuàng)建cronjob定時(shí)任務(wù)的方法分析
這篇文章主要介紹了Yii框架創(chuàng)建cronjob定時(shí)任務(wù)的方法,結(jié)合具體實(shí)例形式分析了Yii定時(shí)任務(wù)相關(guān)配置、實(shí)現(xiàn)步驟與注意事項(xiàng),需要的朋友可以參考下2017-05-05
thinkPHP5.0框架API優(yōu)化后的友好性分析
這篇文章主要介紹了thinkPHP5.0框架API優(yōu)化后的友好性,結(jié)合具體實(shí)例分析了thinkPHP5.0框架進(jìn)行API優(yōu)化后在數(shù)據(jù)輸出及錯(cuò)誤調(diào)試方面的友好性改進(jìn),需要的朋友可以參考下2017-03-03
php面向?qū)ο蠡A(chǔ)詳解【星際爭(zhēng)霸游戲案例】
這篇文章主要介紹了php面向?qū)ο蠡A(chǔ),結(jié)合星際爭(zhēng)霸游戲案例詳細(xì)分析了PHP面向?qū)ο箢?lèi)、繼承、重載、接口等相關(guān)概念與使用技巧,需要的朋友可以參考下2020-01-01

