位置: 编程技术 - 正文

简单谈谈PHP中的trait(简单谈谈php中的安全性)

编辑:rootadmin

推荐整理分享简单谈谈PHP中的trait(简单谈谈php中的安全性),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:简述php的优点,简述php的概念和特点,php的概述,简述php,简单谈谈php中的安全性,简单谈谈php中的安全性,简述php,简单谈谈php中的数学思想,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

之前的一个同事换工作,在面试被问到了 PHP 的 trait 。因为没用过, 所以没答好,我大概是用过几次的,想了想整理了以下的总结。

trait

trait 是在一些类(Class)的应该具备的特定的属性或方法,而同父级的另外一些类应该避免包含这些属性和方法情况下使用的.

当然, 这也和开发者对类的抽象能力有关, 有些抽象能力好的, 可以减少对 trait 的使用 但是这种情况应该是无法避免的 不然 trait 出现就毫无意义了.

还有一种情况, 就是使用 trait 的时候, 可以起到的约束开发者的作用, 提醒开发者注意需要在开发的过程中调用 trait 的某些属性和方法.

同事则提出了一个好问题, 接口(interface) 不也是这个作用么&#;

简单谈谈PHP中的trait(简单谈谈php中的安全性)

不急, 让我们先看个例子:

比如你要收集网站上各类数据, 开发了 Spider 类. Spider 有个方法叫 request() 负责请求.

但是采集数据的过程中, 有些网站对蜘蛛敏感有些则不. 对于敏感的网站, 我们给出了一个使用代理的解决方案. 但是使用代理是会影响抓取速度的. 这就产生了 Spider 的子类有些需要用代理, 而能不用代理则尽量不用的情况.

于是这个时候我们新增了一个 trait Proxy:

trait 重写了 Spider 的 request() 方法, 限定了在没有调用代理的情况下调用会抛出异常.

回到之前的问题, trait 这样的用法和 接口(interface) 有什么区别&#;

接口的约束是前置的是定义初始就必须实现的, 他可以约束方法的实现却无法约束方法的调用, trait 是一种后置的调用, 他已经实现了方法, 关键的是, 他只对调用了自身的类产生约束(废话一句), 而对没有调用自身的类不产生影响(再一句废话), 同时他是可复用的, 而且没有破坏 Spider 类自身的实现增加, Spider 还是那个 Spider.

我想 trait 的用法再这里已经很有效了吧.

后话

有人可能决定 另外实现一个 request 比如叫, proxyRequst 不就完了么&#; 你说的好有道理…然是如果我使用了不一样的 代理具体对请求上有细节差异怎么办呢&#; 在代码里不停的 if if if 么&#; trait 如此清爽的方案 为何要放弃呢&#;

总结

好了,

标签: 简单谈谈php中的安全性

本文链接地址:https://www.jiuchutong.com/biancheng/293458.html 转载请保留说明!

上一篇:PHP函数rtrim()使用中的怪异现象分析(php trim函数)

下一篇:解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory(编译安装php8)

  • 小规模纳税人减按1%政策文件
  • 个人所得税汇算清缴截止日期
  • 计提税金会计分录怎么算
  • 税控盘维护费开的是普票可以抵扣吗
  • 资产负债表第二季度年初余额怎么填
  • 企业年报股东及出资信息要怎么填写
  • 完税凭证可以补办吗
  • 购买电脑的折旧怎么计算
  • 离境退税政策文件
  • 企业财产损失审批前后的账务处理
  • 农产品核定扣除范围
  • 单位车转到个人名下要什么材料
  • 预付材料款的会计分录怎么写
  • 模具维修费用清单表格
  • 免税商品进项税可以抵扣吗
  • 印花税销售分录
  • 小规模纳税人财务报表是按季还是按月申报
  • 代销商品
  • 预缴时少缴税款是否需要缴纳滞纳金?
  • 应收账款的坏账处理方式有哪几种
  • 作废代开发票,是否退还已纳税款?
  • 贸易型企业怎么做账
  • 提升一下网速
  • php哪个函数能取得字符串长度
  • 孕妇能吃桂圆吗有什么好处
  • media是什么文件
  • PHP:Memcached::addServer()的用法_Memcached类
  • 汇付的注意事项有哪些内容
  • 电脑硬盘数据恢复一般需要收费多少钱
  • 计算机与自动化的关系
  • php异步处理方案
  • 什么是增值税普票和专票
  • thinkphp生成html
  • 待转销销项税额是什么
  • 可供出售金融资产公允价值变动
  • 什么是跨域以及解决方法
  • 缴纳上年汇算清缴的分录
  • 织梦相关文章调用
  • 售后租回融资租赁帐务处理怎么做?
  • 酒店行业销售费用占比
  • sql server s
  • 固定资产减值准备借贷方向
  • 缴纳的工会经费现金流量表怎么记
  • 应付账款现金折扣会计分录
  • 半年净资产收益率
  • 装饰公司收到的礼品
  • 财务报表中的存货包括哪些内容
  • 年数总和法计提折旧的例题
  • 备份数据还原不了怎么办
  • winxp如何访问win10
  • xp怎么安装framework
  • windows storage server 2016下载
  • win7系统怎么查看
  • linux中python命令
  • Centos Nginx + Svbversion配置安装方法分享
  • xp系统怎么安装网络驱动
  • tomcat配置虚拟主机
  • naimag32.exe - naimag32是什么进程 有什么用
  • 如何制作u盘启动盘
  • Win10 Mobile RedStone 14283已修复与已知问题汇总
  • Nehe第六章纹理映射
  • 解决Extjs4中form表单提交后无法进入success函数问题
  • linux find命令的使用
  • 用python三角形
  • 怎样用在js中使用css的内容
  • css开发环境
  • android ios UI
  • 安卓焦点
  • shell中判断文件是否存在
  • windows安装pycharm
  • cmd文件操作基本命令清单
  • 大杀器歼35震撼首飞!中国空军正式踏入世界第一梯队
  • js实现功能
  • javascript面向对象吗
  • 企业未代扣代缴个税能退税吗
  • 税务局税收风险排查总结
  • 深圳国税电子税务局官网
  • 烟草税多少比例
  • 山东地税局网上办税平台
  • 天津市网签查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设