使用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中全局变量global的使用演示代码
May 18 PHP
简单的PHP多图上传小程序代码
Jul 17 PHP
php连接Access数据库错误及解决方法
Jun 20 PHP
C/S和B/S两种架构区别与优缺点分析
Oct 23 PHP
PHP IDE phpstorm 常用快捷键
May 18 PHP
PHP里的单例类写法实例
Jun 25 PHP
Apache启动报错No space left on device: AH00023该怎么解决
Oct 16 PHP
Yii中创建自己的Widget实例
Jan 05 PHP
Zend Framework+smarty用法实例详解
Mar 19 PHP
分享5个非常有用的Laravel Blade指令
May 30 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
Aug 21 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 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
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
使用PHP实现微信摇一摇周边红包
2016/01/04 PHP
PHP+mysql实现从数据库获取下拉树功能示例
2017/01/06 PHP
使用firebug进行调试javascript的示例
2013/12/16 Javascript
javascript简单性能问题及学习笔记
2014/02/04 Javascript
javascript闭包入门示例
2014/04/30 Javascript
有关json_decode乱码及NULL的问题
2015/10/13 Javascript
jquery实用技巧之输入框提示语句
2016/07/28 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
2016/09/06 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
微信小程序非跳转式组件授权登录的方法示例
2019/05/22 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
2019/07/06 Javascript
基于JavaScript实现十五拼图代码实例
2020/04/26 Javascript
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
[46:47]完美世界DOTA2联赛PWL S2 FTD vs Magma 第二场 11.20
2020/11/23 DOTA
基于scrapy实现的简单蜘蛛采集程序
2015/04/17 Python
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
python实现车牌识别的示例代码
2019/08/05 Python
python实现计算器功能
2019/10/31 Python
基于python使用tibco ems代码实例
2019/12/20 Python
python中pathlib模块的基本用法与总结
2020/08/17 Python
python开发入门——set的使用
2020/09/03 Python
CSS3近阶段篇之酷炫的3D旋转透视
2016/04/28 HTML / CSS
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
英国Flybe航空官网:欧洲最大的独立支线廉价航空公司
2019/07/15 全球购物
叙述DBMS对数据控制功能有哪些
2016/06/12 面试题
生产管理的三大手法
2013/11/11 职场文书
主管会计岗位责任制
2014/02/10 职场文书
银行优秀员工事迹材料
2014/05/29 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
商务英语邮件开头问候语
2015/11/10 职场文书
班主任远程培训研修日志
2015/11/13 职场文书
如何用JavaScript学习算法复杂度
2021/04/30 Javascript