位置: 编程技术 - 正文

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

  • 计提应交个人所得税分录怎么做
  • 个人所得税计算器
  • 综合收益总额与什么有关
  • 利润表中的所得税
  • 个体定期定额怎么征税2023
  • 支付短期借款利息的会计科目
  • 失控发票补税可以抵扣吗
  • 公司购入小汽车是否可以抵扣
  • 申报附加税增加一行如何增加
  • 申报个人所得税会计分录
  • 收到虚开的普票已经入账怎么调账
  • 投资公司的投资人叫什么
  • 分次缴纳的注册资本入什么科目?
  • 收到保险公司返还的保险费
  • 非生产用设备及器具
  • 航天金税财务软件使用说明
  • 一般纳税人出租不动产增值税税率
  • 哪些房产免纳房产税
  • 季报如何填企业信息
  • 小企业会计准则主要按照什么计量
  • 科研项目经费怎么填
  • 货物退回发票冲红会计分录
  • 建立账套的简单操作
  • 如何查询所属税务所
  • 申报印花税填表过程
  • 企业年金企业所得税扣除标准
  • 房地产企业资金监管账户
  • 试运营收入账务处理
  • 一般纳税人附加税费减免政策
  • 如何卸载某些系统软件
  • 常见转移支付事项有哪些情况
  • 银行利息为什么只算10个月
  • Linux中RedHat CentOS Ubuntu Fedora的区别详解
  • 重复确认收入是什么意思
  • win7系统管理员密码忘了怎么办
  • macos怎么看
  • ati2mdxx.exe是什么进程 ati2mdxx进程信息查询
  • 房地产无证销售法律风险
  • 挂证不付工资只代缴社保账务处理
  • 子公司接受母公司捐赠的会计处理
  • PHP:imagesetstyle()的用法_GD库图像处理函数
  • js设置input值
  • 废旧物资回收经营单位
  • ChatGPT进阶-提示词中文版
  • 2021所得税季报怎么填
  • 单据已经生成凭证,不允许自动删除
  • 查补税款
  • 无盘领发票要怎么办
  • 转出未交增值税会计处理
  • csv文件导入到pycharm时报错
  • 增量留底退税怎么比增值税高
  • 资产负债表应交税费为负数
  • Windows2003 SQL2005添加系统用户修改系统登录密码
  • 个体户定额3万需要申报吗
  • 企业所得税表利润总额是净利润吗
  • 一般纳税人直接不管会怎么样
  • 安装防伪税控系统的方法
  • 运费发票没到可以先计提吗
  • 去年的亏损今年第一季度可以弥补吗
  • 一次性伤残就业补助金怎么领取
  • 小规模纳税企业在应交增值税明细科目
  • 调整账户有哪几类
  • 研发成功后的产品出售如何处理
  • 中小型企业产品定位方案
  • 电脑如何将耳机模式换扬声器
  • 回顾30年的水文模型参数率定研究
  • win8更新win8.1
  • 很实用的话
  • nodejs 代码加密
  • python读取grib
  • js用变量值做参数
  • dos命令不能执行怎么回事
  • Unity3D游戏开发标准教程
  • bootstrap要学吗
  • shell脚本的fi
  • hbase获取所有表
  • jquery图片轮播代码
  • 2020年保安证取消了吗
  • 武汉市房产证契税 2023
  • 内蒙古国税网上办税厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设