位置: 编程技术 - 正文

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

  • 没有发票就不能入账吗
  • 个体户交税和个人所得税
  • 报税显示缺少组件怎么办
  • 所得税费用的计提
  • 收到失业保险稳岗补贴会计分录
  • 增值税一般纳税人税率
  • 小规模费用发票多有什么用途
  • 采购的货物没有及时到怎么办
  • 不动产官网查询
  • 开现代服务发票有什么要求吗
  • 企业所得税季报可以更正吗
  • 有形动产经营租赁税率
  • 视同销售销售额的确定方法
  • 房租费可以摊销吗
  • 公司代收生育津贴怎么做账
  • 税务机关办理扣税流程
  • 分期收款发出商品一批,售价50000
  • 汽车行业保险丝
  • 收到增值税专用发票是已经付款了吗
  • 发票验证系统费用多少钱?
  • 滞留票的进项税能抵扣吗
  • 税控机操作
  • 增值税普通发票怎么开
  • 医疗收费票据可以补打吗
  • 处置的固定资产
  • 公司参展费取得发票怎样做账?
  • 应交税金的明细科目
  • 软件进项税额分摊方式
  • 外聘老师课时费计入什么科目
  • 股金属于金融产品吗
  • 代理进口货物账务怎么处理
  • macOS Catalina10.15.2值得升级吗 macOS Catalina10.15.2更新了什么
  • 核定征收的企业怎么交所得税
  • 代理业务资产的意思
  • PHP:shell_exec()的用法_命令行函数
  • 业务招待费有
  • php的implode
  • PHP基于国秘s2m加解密的处理方式
  • php图片添加水印
  • 企业持有待售的固定资产,应当对其预计
  • tsconfig baseurl
  • uniapp前端 django后端
  • gbdrt
  • 电子商业汇票线下清算流程
  • 欠别人钱可以用车抵押吗
  • 什么样的资产可以执行
  • 织梦cms怎么样
  • mysql使用中遇到的困难和问题
  • sql server中事务有哪三种语句
  • 固定资产原值增加折旧怎么算
  • 应付账款借方余额负数表示什么
  • 存货期末计提减值准备影响当期所得税费用
  • 运费少给怎么办
  • 建筑业红字发票如何开
  • 仓储费用分配率
  • 在计划管理中根据事实思考这一步的内容是
  • 金税盘清卡怎么操作视频
  • 红字专用发票怎么做账
  • 每月可以先报税再缴费吗
  • 三栏式明细账适用于原材料吗
  • win7激活失败提示错误代码0x80072F8F
  • u盘界面可以设置背景吗
  • Win10 Insider 10565去除快捷方式小箭头的方法
  • mac系统如何安装双系统
  • xp系统无线网络连接怎么没有
  • win10桌面右边没有了怎么弄出来了?
  • windows7里剪切小剪刀在哪里
  • win系统找回删除文件
  • jquery操作html代码
  • python计算两日期间隔月份
  • 用js自定义函数生成表格
  • iframe内容自适应缩放
  • core文件的作用
  • 统计一组数据各个数字出现的次数
  • nodejs发送图片给前端
  • [置顶]电影名字《收件人不详》
  • 喜大普奔含义
  • 施工企业建筑机械管理机构主要职责是负责建筑机械的
  • 财政法和经济法的关系
  • 辽宁房产税征收标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设