位置: 编程技术 - 正文

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

  • 工衣工帽清洗费税率是多少
  • 税种有哪几种
  • 进项认证以后如何开具红字信息表
  • 社保缴费是当月扣当月的吗
  • 外币实收资本入账汇率
  • 简易征收预缴税款交错了
  • 农业机耕开发票税收分类编码是什么
  • 企业期货投资收益税务案例
  • 结转完工入库产品成本计算
  • 应交增值税进项税额转出借贷方向表示什么
  • 会计学中营业利润的计算
  • 施工图审查费谁出
  • 报关单不存在
  • 劳动仲裁是怎样仲裁公司的
  • 个体户如何报年报
  • 学校有没有纳税人识别号
  • 职工福利费为什么是14%
  • 归还银行贷款利息分录
  • 专票遗失需要怎么处理?
  • 海外佣金税务怎么缴纳
  • 向境外企业支付服务费代扣代缴什么税
  • 软件技术开发是什么
  • 服务器研发属于什么行业
  • 中级会计考试考后审核需要什么资料
  • 电脑进入bios关机
  • 增值税中进项税额比对异常能作废申报吗
  • linux is
  • 预收一年的30万怎么算
  • 没有实际出资的股东怎么退出
  • linux1970
  • 支付手续费方式委托代销商品确认收入
  • 进项税额转出会计分录账务处理
  • 一次补发工资怎么算
  • 交易性金融资产的账务处理
  • phpforeach
  • 购车的进项税怎么抵扣
  • 铡刀演示
  • 为什么我们认为北京人已经学会使用火
  • 新星计划片头好可爱啊
  • 嵌入式软件产品税率
  • 5 分钟速通 SVG
  • 织梦怎么导入数据库
  • 电商企业快递费怎么算
  • 滴滴发票抬头怎么修改
  • 公司收到个人汇款怎么开发票
  • 社保缴费是当月扣当月的吗
  • 发票识别
  • sql server 2016 sp3
  • 凭证字号和凭证编号一样吗
  • 收到房租的租金怎么做账
  • 以土地作价投资合伙企业是否缴纳土地增值税
  • 医院销售药品是否缴纳增值税
  • 公司代缴社保如何查询
  • 收到多收的款会计处理
  • 境外情况
  • 公司给员工转公司
  • 保险发票入账
  • 正常在职员工的工作时间
  • 会计账务做得混乱的原因
  • 固定资产净额怎么计算公式
  • windows7创建新桌面
  • xp系统插u盘没反应怎么解决
  • linux 图形
  • win8怎么装驱动
  • win10 20h2官方下载
  • linux怎样使用命令
  • nodejs安装express-g报错
  • opengl3d
  • jQuery position() 函数详解以及jQuery中position函数的应用
  • linux重定位命令
  • awk范围筛选
  • js布局与css布局
  • javascript如何学
  • npm yarn命令对比
  • 简单的横向棱纹魔杖
  • jquery添加节点
  • android sdk使用教程
  • python多进程共享对象
  • 广告轮播图片素材
  • 销售车位需要交房产税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设