位置: 编程技术 - 正文

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

  • 预缴税款计算公式
  • 自查补缴增值税的会计处理
  • 6个点税如何计算方法
  • 什么是税目税基税率,简答题
  • 应交所得税的计算公式
  • 金税四期对个人所得税的影响
  • 下列各项中免征增值税的有
  • 利润总额×12%
  • 过了汇算清缴期后发现错误
  • 其他债权投资发生减值的账务处理
  • 销项负数发票是代表交易没有成功吗?
  • 车辆日常维护费用
  • 税务申报我的待办是空的
  • 虚开增值税发票的涉税风险如何防范
  • 销售报废车辆按多少计提销项税额
  • 收到电子承兑汇票的账务处理
  • 公司合并后业务怎么办
  • 通过检查人力资源
  • 企业所得税一般纳税人是怎么缴纳的
  • 通用机打发票什么样子
  • 补贴属于什么手段
  • 计提税金和缴纳税金的会计分录
  • 企业安排残疾人就业有啥优惠政策
  • 开出技术服务费怎么结转成本
  • 住宿费专票报销怎么做账
  • 利润分配补亏
  • 罕见病药品进口要求
  • 城镇土地使用税征收标准及计算方法
  • 4500监控
  • 有一个设置
  • php基础入门教程
  • 差额征税的项目 按差额记账还是全额倒算销项税
  • php字符串赋值
  • php bcsub
  • 在职职工医疗保障计划互助金多久发一次
  • 啥叫同比增长
  • 企业常用的消毒措施有
  • PHP:imagecolorclosesthwb()的用法_GD库图像处理函数
  • 公司客户招待费用标准
  • 递归最小二乘法辨识参数
  • 建筑装饰工程公司属于什么行业
  • 财政补贴收入账务处理
  • 帝国cms配置数据库
  • mongodb mongoose
  • 收到金融服务费发票会计分录怎么写
  • 现代服务业进项抵扣新政策
  • 如何确认固定资产的减值
  • 企业记账的相关规定
  • 跨月管理费用多计怎么处理
  • 怎么打印银行对账单
  • 开个人劳务票需要本人去吗
  • 其他应收款的账龄如何计算时间
  • 进项税转出金额怎么算
  • 进项税额转出期限是多久
  • 以前年度损益调整结转到哪里
  • 谈一谈企业应如何做才能更好地、有效地激励员工
  • 研发支出资本化支出期末怎么处理
  • 逾期贷款利息收入增值税和企业所得税纳税义务时间
  • 建筑公司收到的工程服务发票怎么做账
  • 税控盘全额抵扣怎么做分录
  • 电子承兑汇票是什么
  • 红十字会是事业编还是行政编
  • 企业在销售过程中支付的消费税应通过什么账户进行核算
  • 联想Thinkpad怎么进入安全模式
  • bios解除
  • 电脑开机出现英文字母开不了机
  • 该程序无法正常启动
  • 微软每月补丁更新一般于什么时间发布
  • linux编译安装php扩展命令
  • win10修改默认
  • 如何修改windows默认语言
  • QuiteRSS: Linux桌面的RSS阅读器 你值得拥有
  • win10 系统软件
  • cocos creator 优化 drawcall 合并
  • opengl 3d engine
  • div style display none
  • unity向量的规范化
  • node.js的安装步骤
  • 苏州税务实名认证流程小程序
  • 爱普生如何
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设