位置: 编程技术 - 正文

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

  • 进项税额比销项税额多怎么填申报表
  • 亏损企业如何填报企业所得税
  • 实际负税计算公式
  • 预包装食品销售流程图
  • 记账凭证拆开
  • 盈余公积是否必要交税
  • 从合伙企业分回的经营所得 合伙企业 个人所得税
  • 邀请客户参加公司会议
  • 企业中征码怎么办
  • 收回多借差旅费
  • 应纳税所得额就是企业所得税吗
  • 汇票的票据行为有贴现吗
  • 存在弃置费用的固定资产有哪些
  • 收到应收的货款的会计分录
  • 销售不动产包括哪些内容
  • 会计职业道德的作用
  • 会计人士必知建筑业主要成本会计分录一览
  • 职工福利增值税的处理
  • 利润表其他综合收益的税后净额怎么算
  • 银行摘要冲账是什么意思
  • 收到不开票的返利如何记账?
  • 其他应付款在贷方,借方是什么科目
  • 企业破产应收账款要发询证函吗
  • 每月结转本年利润会计分录
  • 软件开发过程中必须伴有质量保证活动
  • 企业买进基金用什么账户
  • 销项税和进项税怎么区分
  • 行政事业单位的营业执照叫什么
  • 城市生活垃圾处理方法
  • linux配置与管理教程
  • PHP+Mysql+jQuery文件下载次数统计实例讲解
  • 公积金贷款额度查询计算器
  • 未售车位出租有哪些税要缴纳
  • 研究院经营范围怎么写
  • 报废汽车残值收入的商品编码编码
  • java本地缓存框架有哪些
  • 开具信用证费用由谁承担
  • c#开发入门及项目实战
  • 大前端最新
  • 详解php归并排序数据
  • 应收账款和应付账款都是负数
  • 冲回上月暂估入账的商品会计分录
  • dedecms默认用户名
  • MySQL数据库有什么特点
  • 将织梦dedecms转换到wordpress
  • 原材料折价销售怎么算
  • MYSQL administrator 使用
  • 出售固定资产不确认收入
  • 货物赔偿款如何计算
  • 研发费用不能加计扣除的有哪些项目
  • 员工安全培训费可以抵扣增值税吗
  • 大修和维修怎样定义
  • 小规模纳税人企业所得税税率
  • 融资租入固定资产计提折旧吗
  • 技术服务费会计处理
  • 未取得发票的固定资产入账规定
  • mac忘记mysql初始密码
  • windows vista server
  • centos7设置ssh登录
  • yum更新所有软件
  • windows十桌面
  • centos命令行乱码
  • linux svn操作
  • 使用windows防火墙禁止软件联网
  • windows勒索病毒
  • 鲁大师完全卸载
  • win10mobile还能用吗
  • hp电脑系统win8系统
  • win10打开资源管理器很慢
  • unitystudio手机版
  • nodejs基础知识
  • jquery 表格插件
  • 用javascript
  • 查汽车发票从哪个网站查
  • 建筑工程资质挂靠合同
  • 工会经费按年还是季度申报
  • 一年内在两家公司任职个税汇算清缴
  • 什么叫银税互动
  • 个体户定额怎么查询
  • tbc法力陵墓入口
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设