位置: 编程技术 - 正文

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

  • 个税应纳税所得额计算公式
  • 城建税的税目是哪些
  • 纺织品产量
  • 购进材料运输费属于什么会计科目
  • 工会经费入账
  • 调整账户和被调整账户的关系
  • 社保代理公司的合作协议
  • 超额投资是什么意思
  • 采暖费报销发票
  • 会计凭证保管的含义及要求
  • 持有至到期投资在资产负债表怎么填
  • 摊销土地使用权和专利权会计分录怎么写
  • 同一控制下企业合并会产生商誉吗
  • 纳税调整增加额和纳税调整减少额
  • 企业税收风险有哪些方面
  • 伙食费没有发票可以税前扣除吗
  • 在建工程转入长期待摊费用吗
  • 企业发生的白条是什么
  • 无偿转让股权需要交什么税
  • 固定资产的确认条件有哪些
  • 运费用会计分录
  • 出租的厂房房产税谁交
  • 查看电脑系统版本
  • php 静态变量
  • 如何在windows11中安装google play
  • windows没有搜索
  • 多收不用退的货物怎么办
  • 股东向公司借款协议书范本
  • 施工单位奖项名称大全
  • php操作cookie
  • 奥林匹克国家公园
  • 波尔图葡萄牙语
  • cpu占满gpu不工作
  • 产品出库单附在什么凭证后面
  • 个人怎么开专票
  • 顺丰电子发票开票失败需要怎么处理?
  • 施工企业应承担的主要责任和义务
  • 应收账款的差额计入哪里
  • 织梦网站停止使用了还侵权吗
  • 经典帝国cms生成器下载
  • 权责发生制 会计
  • 厂区道路算建筑面积吗
  • 预收账款可以用什么科目核算
  • 生产企业出口退税全部流程
  • 税率变更对企业的影响
  • 统一机构信用代码最后一位校验码
  • 分期收款销售的特点是描述正确的是
  • 印花税记入哪个费用
  • 账本登错账怎么修改
  • 现金收货款要填什么信息
  • 购进无偿赠送
  • 融资租赁租金利息怎么算
  • 赠送客户的商品需要交税吗
  • 管理费用如何核算
  • 什么时候计提增值税发票
  • 计提社保公积金的账务处理
  • 单位代扣代缴个人所得税凭证
  • 主营业务成本和管理费用的区别
  • 未实际收到的投资收益
  • 无发票 入账
  • mysql5.7主从配置 博客园 my cnblog
  • 怎么将windowsxp换成windows7
  • Ubuntu14.4下Sublime Text 3无法输入中文解决方法
  • mac如何隐藏桌面
  • 怎么简单快速的拼成魔方六面
  • vc运行程序exe停止工作
  • xp开机启动项在哪里设置方法
  • win10收不到20h2更新
  • centos做bond4
  • w10开机欢迎界面设置
  • win7运行窗口在哪
  • 每日十条简短新闻
  • 安卓网页开发工具
  • javascript教程chm
  • python第九套答案
  • 蛋疼的生活歌曲
  • python文件遍历
  • 扣缴义务人申报和综合所得年度自行申报
  • 慧付钱包app官网下载
  • 申报土地增值税需要什么资料
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设