位置: 编程技术 - 正文

PHP之预定义接口详解(php预定义变量有哪些)

编辑:rootadmin

推荐整理分享PHP之预定义接口详解(php预定义变量有哪些),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php中的预定义变量,php预定义函数,php自定义协议,php预定义变量有哪些,php预定义函数,php预定义变量有哪些,php定义接口的关键字,php预定义函数,内容如对您有帮助,希望把文章链接给更多的朋友!

在PHP中有好几个预定义的接口,比较常用的四个接口(IteratorAggregate(聚合式aggregate迭代器Iterator)、Countable、ArrayAccess、Iterator)分别给大家详细介绍下。

IteratorAggregate(聚合式aggregate迭代器Iterator)接口

这个接口实现了一个功能——创建外部迭代器,具体怎么理解呢,当我们使用foreach对对象进行便遍历的时候,如果没有继承IteratorAggregate接口,遍历的是对象中所有的public属性(只能是public $var这种形式)。要是继承了IteratorAggregate,会使用类中实现的getIterator方法返回的对象,这里要注意返回的一定要是一个Traversable对象或者扩展自Traversable的对象,否则会抛出异常

Countable接口

PHP之预定义接口详解(php预定义变量有哪些)

这个接口用于统计对象的数量,具体怎么理解呢,当我们对一个对象调用count的时候,如果函数没有继承Countable将一直返回1,如果继承了Countable会返回所实现的count方法所返回的数字,看看下面的例子:

ArrayAccess接口

这个接口的作用是让我们可以像访问数组一样访问对象,这个怎么说好呢,我猜其实就是php在词法分析的时候如果碰到了数组的方式使用对象,就回去对象中查找是否有实现ArrayAccess如果有的话,进行对应的操作(set、unset、isset、get),这样我们就可以在类里面放置一个array,让类实现数组方式的基本操作,下面看个例子:

上面的对象只能是基本的数组操作,连遍历都不行,结合之前的IteratorAggregate可以进行foreach:

Iterator接口:

可在内部迭代自己的外部迭代器或类的接口,这是官方文档给出的解释,看着还是不好理解,其实我感觉这个接口实现的功能和trratorAggregate(文档:创建外部迭代器接口,接口直接返回一个迭代器)类似,不过这个在类的定义里面自己实现了,看个例子:

上面这个参考了鸟哥的一篇文章关于一笔试题(Iterator模式),不过鸟哥的那个判断valid有点瑕疵,当碰到值北来就是false的时候就会截断

总结说了这么多好像还是没有体会到他们的用处,建议看看Yii2的源码,源码里面大量使用了这些东西,看了之后,你会慢慢觉得“哦~好像还真是挺有用的。。。。”

标签: php预定义变量有哪些

本文链接地址:https://www.jiuchutong.com/biancheng/284453.html 转载请保留说明!

上一篇:PHP如何将log信息写入服务器中的log文件(php log函数)

下一篇:PHP之密码加密的几种方式(php加密后怎么运行)

  • 城市维护建设税为什么是流转税
  • 什么是协税护税员
  • 最惠国税是一种真正意义上的优惠关税
  • 简易计税方法使用范围
  • 应纳税所得额的会计分录
  • 不能抵扣的增值税进项税额是什么
  • 企业内部研发支出会计处理探讨
  • 工程结算扣罚款怎么开票
  • 年终销项税额要结账吗
  • 固定资产入股交什么税
  • 预提费用报税时填哪里
  • 税控服务费列入管理费用什么费用?
  • 房屋出租需要缴纳个人所得税吗
  • 退休后兼职收入需要交税吗
  • 原材料的运输
  • 工程用油计入什么科目
  • 企业房产税优惠政策2022
  • 公司购买短期理财现金流量表怎么填
  • 外地建安个人所得税标准
  • 企业交城建税的分录
  • 汇算清缴时资产总额如何计算
  • 营改增后甲供材税前扣除还是税后扣除?
  • 税务利润总额计算公式
  • 红字发票如果开多了下个月能进行抵扣么?
  • 我的初级备考经验--付出才有回报
  • 房子报废
  • 关联公司代付款帐怎么做
  • 在win7系统中文件属性有哪些
  • 报销租房费用开发票
  • 免费投放资产收益的平台
  • 出售设备收到的现金属于什么活动
  • 增值税返还政策
  • 住宅用途的房屋可以办理医疗器械证吗
  • 工伤补贴如何做凭证
  • 桥梁水泥和普通水泥有什么区别
  • 无票收入怎么计算1%税率
  • 单目测距精度
  • html作业做网页
  • vue导入动图
  • 数学建模心态崩了
  • 买配件组装成产品算生产吗
  • 小规模纳税人减免增值税会计处理
  • 只有发票没有银行怎么办
  • php去掉最后一个逗号
  • 需要做审计有哪些行业
  • 什么是现金流量的概念?
  • 一般纳税人的劳务公司的税率
  • 企业哪些行为可以避税
  • 商业汇票的会计科目是什么
  • 投资利润率怎么看投资好还是不好
  • 广告费和业务宣传费税前扣除基数
  • 建安企业无收入证明模板
  • 担保贷款借款人死亡
  • 银行回单借贷标志贷表示什么
  • 上市公司应付会计
  • 代理进口业务会计分录
  • 关闭antivirus
  • ubuntu20.04 unity
  • windows环境是什么意思
  • 电脑重装xp系统怎么设置
  • mac电脑安装软件未受信任
  • ssh免密登录执行shell
  • office进程
  • win10睡眠唤醒键
  • Android中的touch事件
  • 图像unit8
  • python获取命令行执行命令的输出
  • jquery插件使用教程
  • node.js最主要的特点有哪3个?
  • 特牛的群名
  • ajax里面的属性
  • jquery设置宽高
  • jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
  • django批量上传图片
  • 安卓登录界面布局设计
  • 国家税务总局班子简历
  • 电子税务局登录密码怎么查询
  • 地方税务局分局局长级别
  • 网上缴公积金怎么查询
  • 小规模纳税人销售货物税率是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设