使用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 读取shell管道传输过来的内容
Mar 01 PHP
php 常用类汇总 推荐收藏
May 13 PHP
初学PHP的朋友 经常问的一些问题。不断更新
Aug 11 PHP
php XMLWriter类的简单示例代码(RSS输出)
Sep 30 PHP
php中出现空白页的原因及解决方法汇总
Jul 08 PHP
Php连接及读取和写入mysql数据库的常用代码
Aug 11 PHP
使用PHP和HTML5 FormData实现无刷新文件上传教程
Sep 06 PHP
PHP中shuffle数组值随便排序函数用法
Nov 21 PHP
php遍历删除整个目录及文件的方法
Mar 13 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
Dec 25 PHP
Yii支持多域名cors原理的实现
Dec 05 PHP
php将xml转化对象的实例详解
Nov 17 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获取程序执行的时间
2013/06/09 PHP
ThinkPHP标签制作教程
2014/07/10 PHP
php返回字符串中所有单词的方法
2015/03/09 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
CodeIgniter基于Email类发邮件的方法
2016/03/29 PHP
PHP中类的继承和用法实例分析
2016/05/24 PHP
PHP 接入支付宝即时到账功能
2016/09/18 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
2016/10/25 PHP
php 数组元素快速去重
2017/05/05 PHP
PHP的mysqli_select_db()函数讲解
2019/01/23 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
jQuery 位置插件
2008/12/25 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
javascript学习笔记(十五) js间歇调用和超时调用
2012/06/20 Javascript
删除javascript中注释语句的正则表达式
2014/06/11 Javascript
jQuery使用fadein方法实现渐出效果实例
2015/03/27 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
webpack常用配置项配置文件介绍
2016/11/07 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
JS判断时间段的实现代码
2017/06/14 Javascript
jQuery中$原理实例分析
2018/08/13 jQuery
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
[41:56]Spirit vs Liquid Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
浅谈Python 对象内存占用
2016/07/15 Python
Python从Excel中读取日期一列的方法
2018/11/28 Python
Python读取实时数据流示例
2019/12/02 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
四好少年事迹材料
2014/01/12 职场文书
竞争上岗实施方案
2014/03/21 职场文书
建筑安全生产目标责任书
2014/07/23 职场文书
2014年仓库管理工作总结
2014/12/17 职场文书
值班管理制度范本
2015/08/06 职场文书
2019学子的答谢词范本!
2019/07/05 职场文书
纯CSS实现酷炫的霓虹灯效果
2021/04/13 HTML / CSS