位置: 编程技术 - 正文

简单谈谈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)

  • 怎么算固定资产
  • 金税三期反映出来的是前几年的问题
  • 分税制财政管理体制是什么?
  • 增值税包括哪些内容
  • 抚恤金入账
  • 国有资产报废如何委托拍卖公司
  • 发生销售退回如何开票
  • 多扣了离职人员的钱
  • 如何加强存货管理内部控制
  • 库存商品未入库
  • 企业2015年申报抵扣的增值税,2016年检查有11000元不得抵扣,需要补交增值税11000元并收滞纳金及罚款1200元,请问老师具体该怎么做账,谢谢
  • 契税如果没有按时交会怎么办
  • 预缴时弥补的以前年度亏损是会计亏损吗?
  • 其他权益工具包含
  • 公司注销的流程和费用
  • 自营方式建造固定资产成本包括增值税吗
  • 跨年度错账更正方法
  • 个人转让无形资产增值税税率
  • 库存股是实收资本吗
  • 企业筹办费会计处理
  • mac上如何切换apple id
  • 小规模纳税人安装费税率
  • php写html
  • jQuery+Ajax+PHP“喜欢”评级功能实现代码
  • 工商年报网上申报时间2023年
  • 增值税一般纳税人和小规模纳税人的区别
  • 接受赠品的账务处理流程
  • 员工辞退补偿金需要交个税吗
  • 配置eAccelerator和XCache扩展来加速PHP程序的执行
  • 没有抵扣联可以作废吗
  • 个人销售自建自用住房解读
  • 非货币性资产交换和债务重组的区别
  • 完美解决索尼电视arc无声音
  • 自身权益工具有哪些
  • 商誉减值后
  • 暂估原材料的数量怎么算
  • vue的样式穿透
  • gridviewcolumn
  • javascript最好的教程
  • macps字体怎么导入
  • 资产负债表中的货币资金怎么算
  • 股权转让分期付款风险
  • 工资预提和计提的区别
  • mysql索引之间的区别
  • 固定资产清理损益表怎么填
  • 财务费用报销流程最后环节出纳
  • 房屋租赁费如何缴纳个税
  • 为什么股票配资的都在境外交易
  • 财务费用贷方余额怎么结转本年利润
  • 水泥销售技巧
  • 进项税销项税增值税的区别
  • 预付物业费会计分录
  • 财务负责人怎么实名认证
  • 多收发票会计分录
  • 往来是啥意思
  • 高新企业研发项目规定几个
  • 购买食品应注意哪些问题?
  • 残疾人就业保障金征收使用管理办法
  • 残疾人保障金必须交吗
  • windows防病毒
  • 清华同方笔记本无线网络开关在哪
  • 苹果电脑怎么打开u盘
  • linux系统中的用户分为哪几类
  • linux系统怎么安装
  • win8系统特点
  • 微软何时推出win10
  • linux单个文件夹文件数量
  • win10系统将IIS服务器发送到桌面快捷方式方法
  • android环境搭建教程
  • 文件包解密
  • jquery实现购物车功能(删除商品,增加和减少商品)
  • 鼠标悬停时的动画效果
  • 我置顶你也只顶你
  • jquery实现图片横向移动
  • 歺包做法
  • jquery中each()方法的作用及使用
  • 副局长哪里任命
  • 工会经费税务代收现状
  • 国家税务局广东省电子税务局下载
  • 2018建筑材料考试试题及答案河南卷
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设