使用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 相关文章推荐
第十一节 重载 [11]
Oct 09 PHP
PHP编程中八种常见的文件操作方式
Nov 19 PHP
php session 错误
May 21 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
Jun 23 PHP
php定义参数数量可变的函数用法实例
Mar 16 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
Nov 05 PHP
php表单提交实例讲解
Nov 12 PHP
PHP和MySql中32位和64位的整形范围是多少
Feb 18 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
Mar 10 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
Aug 19 PHP
thinkphp5.1框架容器与依赖注入实例分析
Jul 23 PHP
PHP var关键字相关原理及使用实例解析
Jul 11 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相关资料
2006/10/09 PHP
综合图片计数器
2006/10/09 PHP
php 字符串函数收集
2010/03/29 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
php页面防重复提交方法总结
2013/11/25 PHP
功能强大的php分页函数
2016/07/20 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
php精度计算的问题解析
2019/06/21 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
常用js脚本
2006/12/03 Javascript
超越Jquery_01_isPlainObject分析与重构
2010/10/20 Javascript
JavaScript中的对象的extensible属性介绍
2014/12/30 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
详解nodejs微信公众号开发——2.自动回复
2017/04/10 NodeJs
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
2017/12/08 Javascript
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
2019/07/05 Javascript
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
详解python之配置日志的几种方式
2017/05/22 Python
python实现随机森林random forest的原理及方法
2017/12/21 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
Python Numpy 控制台完全输出ndarray的实现
2020/02/19 Python
Django操作session 的方法
2020/03/09 Python
HTML5 script元素async、defer异步加载使用介绍
2013/08/23 HTML / CSS
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
试用期转正鉴定评语
2014/01/27 职场文书
感恩母亲节活动方案
2014/03/04 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
幸福家庭标语
2014/06/27 职场文书
离婚协议书范文2014
2014/10/16 职场文书
先进个人材料怎么写
2014/12/30 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
2015小学毕业班工作总结
2015/07/21 职场文书
厉害!这是Redis可视化工具最全的横向评测
2021/07/15 Redis