位置: 编程技术 - 正文

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

  • 采购价格含税吗
  • 纯外贸企业出口到运费可以抵扣吗
  • 纳税调整增加额在报表的哪里
  • 什么需要填
  • 资产减值准备的计提方法
  • 定额备用金与非定额备用金的会计分录
  • 月末 存款
  • 季度预缴能不能弥补亏损
  • 货币资金项目应根据账户的期末余额合计填列
  • 用友怎么结转本期损益
  • 车辆报废收入如何处理
  • 其他综合收益是利润表项目吗
  • 个体户增值税怎么算
  • 在建工程转固定资产后如何计提折旧
  • 计提汇算清缴涉及到不是当年费用怎么记账
  • 简易征收当月已经开出的17%怎么办?
  • 劳务公司包工包料的法律法规
  • 劳务报酬和个人工资的区别
  • 外资企业税率是多少
  • 利息调整摊销额等于什么
  • 收入负数怎么分录
  • 主营业务收入需要交增值税吗
  • 样品寄送时运费支付的对策
  • 美元汇款怎么汇
  • 金融负债包括哪几项
  • win7为什么这么多人用
  • windows10轻松使用是什么
  • 车船税的会计分录怎么写
  • 如何更改应用商店
  • macos10.15.7
  • ps命令不可用
  • sbsetup.exe - sbsetup是什么进程 有什么用
  • php io操作
  • 发生的广告费用属于什么会计要素
  • 限售股转让个人所得税退税
  • 企业资本结构决策需要重点考虑的有
  • php 动态调用类方法
  • 固定资产卡片账自固定资产报废后的保管期限是
  • 企业研发费用加计扣除是什么意思
  • mac完全安装windows
  • 企业经费独立使用的原因
  • php使用什么开发工具
  • 没有关系怎么表达
  • 蓝桥杯b组2020
  • javaweb会话跟踪技术有哪些
  • Deep Learning Tuning Playbook(深度学习调参手册中译版)
  • 大学生创新创业大赛官网
  • 员工福利费会计分录 最新
  • 应收账款周转率多少合适
  • 未达起征点怎么填申报表
  • 约当产量法的含义
  • 销售费用和管理费用占比多少合理
  • 企业的利润率怎么算
  • 不抵扣勾选的发票在哪里查看
  • MongoDB中MapReduce编程模型使用实例
  • 费用月结怎么记账
  • 会计记账凭证的填制要求
  • 小规模减免附加税会计分录怎么做
  • 异地出租房屋
  • 独立核算的重要性
  • 记账联是哪一联
  • 跨年材料票可以入账吗
  • 工程尾款要计入什么科目
  • 进项和销项必须一致才能抵扣吗
  • mysql怎么设置自增主键
  • Vista下WMC不能播放RMVB解决办法
  • Windows如何查看Mac地址
  • win10系统如何添加扫描仪
  • win8的开始
  • win10应用商店不好用
  • 游戏中的物理 processing
  • 增强现实的三个特征
  • python 类的用法
  • 虚拟摇杆 安卓
  • 什么叫党员双报到
  • 福建医保省外报销政策
  • 每年个人所得税2万工资多少
  • 已经交完费还可以用医保卡报销吗
  • 半挂牵引车车船税怎么算
  • 企业所得税的计算,收入是含税还是不含税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设