使用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 相关文章推荐
新浪新闻小偷
Oct 09 PHP
我常用的几个类
Oct 09 PHP
php include,include_once,require,require_once
Sep 05 PHP
探讨php中header的用法详解
Jun 07 PHP
开源php中文分词系统SCWS安装和使用实例
Apr 11 PHP
php实现的百度搜索某地天气的小偷代码
Apr 23 PHP
php自定义函数截取汉字长度
May 15 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
Oct 30 PHP
PHP实现的网站目录扫描索引工具
Sep 08 PHP
基于thinkPHP类的插入数据库操作功能示例
Jan 06 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 PHP
PHP实现一个轻量级容器的方法
Jan 28 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中养成7个面向对象的好习惯
2010/07/17 PHP
实测在class的function中include的文件中非php的global全局环境
2013/07/15 PHP
php curl模拟post请求小实例
2013/11/13 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
JavaScript中Array 对象相关的几个方法
2006/12/22 Javascript
firefox浏览器下javascript 拖动层效果与原理分析代码
2007/12/04 Javascript
js导出格式化的excel 实例方法
2013/07/17 Javascript
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
JS实现仿FLASH效果的竖排导航代码
2015/09/15 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
Easyui的组合框的取值与赋值
2016/10/28 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
2017/03/28 Javascript
微信小程序支付功能 php后台对接完整代码分享
2018/06/12 Javascript
JavaScript 高性能数组去重的方法
2018/09/20 Javascript
JavaScript 对引擎、运行时、调用堆栈的概述理解
2018/10/22 Javascript
JS数组splice操作实例分析
2019/10/12 Javascript
JS数组的高级使用方法示例小结
2020/03/14 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
[03:17]DOTA2-DPC中国联赛1月29日Recap集锦
2021/03/11 DOTA
Python计算一个文件里字数的方法
2015/06/15 Python
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
python实现按任意键继续执行程序
2016/12/30 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
2017/05/31 Python
Python解决两个整数相除只得到整数部分的实例
2018/11/10 Python
python3发送邮件需要经过代理服务器的示例代码
2019/07/25 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
2020/01/18 Python
大学生毕业的自我评价分享
2014/01/02 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
喝酒驾驶检讨书
2014/10/01 职场文书
好好学习保证书
2015/02/26 职场文书
2015-2016年小学教导工作总结
2015/07/21 职场文书
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python
如何自己动手写SQL执行引擎
2021/06/02 MySQL
win11自动弹出虚拟键盘怎么关闭? Win11关闭虚拟键盘的技巧
2023/01/09 数码科技