使用laravel根据用户类型来显示或隐藏字段


Posted in PHP onOctober 17, 2019

在api开发中,有时候需要对自己以外的其他普通用户隐藏字段,比如隐藏手机号。而对于admin用户,则又不需要隐藏手机号。

所以,需要设计一种能够简单的根据不同用户来显示或隐藏字段的方式。

方法基于laravel实现

use Illuminate\Database\Eloquent\Model;
class User extends Model
{
 /**
  * 重写toArray方法
  */
 public function toArray(){
  //获取api用户
  $me=app(Request::class)->user("api");
  if ($me!=null)
  {
   if ($me instanceof AdminUser)
   {
    //如果是admin用户
    //TODO:使用admin用户的显示规则
   }else if($me instanceof User){
    if ($me->id==$this->id)
    {
     //如果是自己
     //TODO:使用面向自己的显示规则
    }else{
     //如果是其他普通用户
     //TODO:使用面向其他普通用户的显示规则
    }
   }
  }
  return parent::toArray();
 }
}

这样实现后,就不需要针对每一个api去修改规则了

以上这篇使用laravel根据用户类型来显示或隐藏字段就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
一个php作的文本留言本的例子(六)
Oct 09 PHP
分享PHP入门的学习方法
Jan 02 PHP
php实现多张图片上传加水印技巧
Apr 18 PHP
php获取域名的google收录示例
Mar 24 PHP
在Yii框架中使用PHP模板引擎Twig的例子
Jun 13 PHP
php生成数字字母的验证码图片
Jul 14 PHP
php 多文件上传的实现实例
Oct 23 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
Nov 15 PHP
php数值转换时间及时间转换数值用法示例
May 18 PHP
thinkPHP中U方法加密传递参数功能示例
May 29 PHP
Yii框架引入coreseek分页功能示例
Feb 08 PHP
PHP html_entity_decode()函数讲解
Feb 25 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
Oct 17 #PHP
TP5框架请求响应参数实例分析
Oct 17 #PHP
laravel 之 Eloquent 模型修改器和序列化示例
Oct 17 #PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
Oct 17 #PHP
使用laravel的Eloquent模型如何获取数据库的指定列
Oct 17 #PHP
解决laravel查询构造器中的别名问题
Oct 17 #PHP
Laravel Eloquent ORM 实现查询表中指定的字段
Oct 17 #PHP
You might like
PHP面向对象分析设计的经验原则
2008/09/20 PHP
Yii2实现ActiveForm ajax提交
2017/05/26 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
深入浅析JavaScript中的constructor
2016/04/19 Javascript
你不知道的 javascript【推荐】
2017/01/08 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
[06:04]DOTA2国际邀请赛纪录片:Just For LGD
2013/08/11 DOTA
[08:53]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS 选手采访
2021/03/11 DOTA
Python 网络编程起步(Socket发送消息)
2008/09/06 Python
Python的Django框架中的数据库配置指南
2015/07/17 Python
详解Python的Django框架中inclusion_tag的使用
2015/07/21 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
python求质数列表的例子
2019/11/24 Python
Python matplotlib实时画图案例
2020/04/23 Python
Selenium及python实现滚动操作多种方法
2020/07/21 Python
python代码实现图书管理系统
2020/11/30 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
Html5跳转到APP指定页面的实现
2020/01/14 HTML / CSS
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
合作经营协议书
2014/04/17 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
小学生中国梦演讲稿
2014/04/23 职场文书
优秀护士演讲稿
2014/04/30 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
淘宝好评语句大全
2014/12/31 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书
你离财务总监还有多远?速览CFO的岗位职责
2019/11/18 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
Nginx开源可视化配置工具NginxConfig使用教程
2022/06/21 Servers