使用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
Linux下ZendOptimizer的安装与配置方法
Apr 12 PHP
php 动态添加记录
Mar 10 PHP
PHP+ajax 无刷新删除数据
Feb 20 PHP
php 格式化数字的时候注意数字的范围
Apr 13 PHP
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
May 15 PHP
PHP编码规范之注释和文件结构说明
Jul 09 PHP
如何在smarty中增加类似foreach的功能自动加载数据
Jun 26 PHP
php无限级分类实现方法分析
Oct 19 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
Feb 15 PHP
php使用crypt()函数进行加密
Jun 08 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
Dec 15 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
IStream与TStream之间的相互转换
2008/08/01 PHP
PHP之autoload运行机制实例分析
2014/08/28 PHP
PHP创建/删除/复制文件夹、文件
2016/05/03 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
PHP实现的AES 128位加密算法示例
2019/09/16 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
2013/08/09 Javascript
jquery 选取方法都有哪些
2014/05/18 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
浅谈Javascript数组(推荐)
2016/05/17 Javascript
JavaScript中子对象访问父对象的方式详解
2016/09/01 Javascript
jQuery 选择符详细介绍及整理
2016/12/02 Javascript
node.js发送邮件email的方法详解
2017/01/06 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
2017/03/29 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
JS实现数组的增删改查操作示例
2018/08/29 Javascript
微信小程序自定义头部导航栏(组件化)
2019/11/15 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
Vue实现跑马灯效果
2020/05/25 Javascript
Python使用新浪微博API发送微博的例子
2014/04/10 Python
Python 实现简单的电话本功能
2015/08/09 Python
Python图像滤波处理操作示例【基于ImageFilter类】
2019/01/03 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
基于Python实现剪切板实时监控方法解析
2019/09/11 Python
详解Django中views数据查询使用locals()函数进行优化
2020/08/24 Python
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
新电JAVA笔试题目
2014/08/31 面试题
会计与审计专业大专生求职信
2013/10/03 职场文书
厨房领班竞聘演讲稿
2014/04/23 职场文书
投标保密承诺书
2014/05/19 职场文书
企业标语口号
2014/06/10 职场文书
新党章心得体会
2014/09/04 职场文书
2014中学教师节广播稿
2014/09/10 职场文书
导游词之太原天龙山
2020/01/02 职场文书