位置: 编程技术 - 正文

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

  • 税金及附加主要分析
  • 小规模差额申报怎么申报
  • 增值税抵扣不够怎么解决
  • 公对公不开票怎么办
  • 委托其他公司开票收款
  • 非税收入包括哪些
  • 应交税金属于什么会计分录
  • 向非金融企业借款200万元
  • 生产车间计提折旧分录
  • 进项票异常如何自查
  • 个人所得税减免申请
  • 个税返还手续费增值税申报填在哪里
  • 个税多申报了实发没有这么多,如何处理
  • 如何检验发票真伪
  • 个税系统如何导入之前的记录
  • 公司账上没车可以报车辆保险吗
  • 预提费用年底如何结转
  • 应交税费的会计处理2018
  • 手机压缩包损坏怎么修复
  • 委托人力资源代招合同
  • php源码怎么上传到服务器
  • 2017年新准则下,收入确认的金额应是
  • 债劵利息怎么计算
  • linux下4种kill某个用户所有进程的方法
  • php使用内置函数的过程
  • igfxhk.exe是什么进程
  • php文件打包下载
  • php 返回
  • arc架构
  • 应交城建税怎么算
  • 劳务公司企业所得税税负率
  • 创建vue3项目的步骤
  • 转回已核销的坏账分录
  • php7编译安装gd库
  • 浅谈建筑地基基础加固施工技术亲
  • 利润表反映了什么能力
  • 资产负债表的累计折旧
  • 应交税费需要结转到本年利润吗
  • 理财产品的分类
  • 基础电信是什么
  • 本月购进原材料取得增值税专用发票
  • 代理记账的业务规范
  • 可供出售金融资产新准则叫什么
  • 申报无票收入后期开票要冲回要备案吗
  • 买赠业务税务处理
  • 应交税费年末需要结转吗
  • 报废厂子出售
  • 工资达不到5000个人所得税
  • 减免税款属于政府补助利得吗
  • 冲销以前年度费用会计分录
  • 企业办理土地证需要哪些资料
  • winx64下mysql5.7.19的基本安装流程(详细)
  • fedora改密码
  • 更新最新版win11,任务栏不见了
  • 解析包出现错误无法安装怎么办
  • 如何安装vmware10
  • 映泰主板bios设置内存频率
  • 安装ubuntu 20.10
  • linux界面显示
  • win8的应用商店
  • win8程序和功能在哪
  • win10系统onenote不能用
  • linux怎么在桌面创建文件
  • js弹出层效果
  • 文本框后缀
  • react区别
  • Android getTopActivity的方法
  • jsp下拉框跳转到相应页面
  • 安卓版影音播放器哪个好用
  • ajax里面的属性
  • 利用python进行爬虫
  • jquery从左到右渐渐显示
  • 新手入门常用代词有哪些
  • python怎么画子图
  • python遍历列表的两种方法
  • jquery做下拉
  • 点击电子税务局里的税务数字账户不跳转怎么回事
  • 江苏无锡2023年GDP
  • 昌吉市税务大厅
  • 发票专用章盖在哪里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设