位置: 编程技术 - 正文

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

  • 如何查企业是一级企业
  • 跨年度的租金收入如何入账
  • 免征增值税的会计处理 进项
  • 医药行业发票税率
  • 研发费用明细账
  • 出口退税正式申报撤销申请
  • 企业丢失账簿稽查局可以处罚吗
  • 捆绑销售如何做会计处理合适?
  • 税务退税会计分录
  • 税控盘减免税有时间限制吗?
  • 私车公用违规吗
  • 冲以前年度暂估
  • 营改增后企业出售房产涉税
  • 营改增前城建税的税率
  • 个人所得税减免申请
  • 上月有留抵的进项税额本月会计分录
  • 分期付款的车怎么做分录
  • 企业计提的安全生产费用年末应如何处理
  • 个人将租来的房子转租如何交税
  • 企业扶贫款怎么做账
  • 库存商品成本变动率
  • 支付拆迁补偿款做账
  • 工程会计的主要工作
  • 公司购买车怎么做
  • 公司认缴出资怎么交税
  • 工作完工结算是什么意思
  • 增值税纳税申报首先要稽核比对
  • 摊余成本计量的金融资产若溢价购买小于
  • 资产负债表的编制方法
  • Aerial view of Chapel Bridge over the river Reuss in Lucerne, Switzerland (© Neleman Initiative/Gallery Stock)
  • php重定向伪造referer
  • PHP面向对象程序设计
  • 框架 frame
  • 有关厉元朗的小说
  • IDEA 2022专业版创建Java Web项目(保姆式小白讲义,强烈建议入手!)
  • php 个人博客 源代码 简单
  • js继承方式及其优缺点
  • 转增资本属于什么会计科目
  • 以前年度损益调整借贷方向
  • 残疾人就业保障金
  • 物流小规模企业有哪些
  • 公司购进软件的账务处理
  • 预提跨年工资怎么处理
  • 将织梦dedecms转换到wordpress
  • 出口退税单机版是什么意思
  • 成本费用率和成本费用利润率的区别
  • 家庭保洁服务包括什么
  • 企业之间无偿使用资金涉税
  • 小型微利企业认定标准2022年
  • 商业会计怎么做会计分录
  • 公司是否可以投资股票
  • 应发工资应税工资
  • 发票红冲后原票是什么状态
  • 农业合作社成本有哪些
  • 学会整理内容
  • ubuntu支持软件
  • ubuntu20设置wifi
  • 六款常见的墨水
  • win7注册表详解
  • saimon.exe - saimon进程有什么用 有何作用
  • 如何将win10系统从c盘迁移到d盘
  • win8页面
  • win7系统如何隐藏盘符
  • node.js连接数据库的代码
  • qq自动登出
  • express app.js
  • shell 数组操作
  • angular keyup
  • linux查看shell脚本
  • Javascript 字符串拼接
  • android获取本机ip地址
  • 黑马程序员培训怎样
  • 怎样在中国税务用手机交社保
  • 异地可以打印银行清单吗?
  • 国税和地税的税种有哪些
  • 北京税务局开票系统
  • 税务申报按季度申报
  • 公司注册资本印花税的税率是多少
  • 收到假发票,被公司辞退
  • 贵州税务申报如何网上申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设