首页 >

PHP设计模式漫谈之迭代器模式(1)

php教程|php手册PHP设计模式漫谈之迭代器模式(1)
PHP,设计模式,漫谈,之,迭代,器,模式,51CTO,独家,特稿,】,今天,《, PHP设计模式漫谈 ,》,系列,
php教程-php手册
BKJIA独家特稿】今天《PHP设计模式漫谈》系列的主角是迭代器Iterator)模式,它在一个很常见的过程上提供了一个抽象:位于对象图不明部分的一组对象或标量)集合上的迭代。迭代有几种不同的具体执行方法:在数组属性,集合对象,数组,甚至一个查询结果集之上迭代。
php源码混淆,vscode 开多个,ikev2 ubuntu,tomcat 公司,sqlite 存在判断,郑州服务器空间,wordpress cms插件,前端文档排版框架,perl爬虫教程,php和python的区别,seo排名是什么,网站鞭炮源码,网页空白模板,网站模板 下载,制作简单的html页面模板免费下载,数据库图书管理系统代码,蚁群算法matlab程序lzw
在对象的世界里,迭代器模式要维持类似数组的功能,看作是一个非侵入性对象刻面facet),Client类往往分离自真实对象实现,指iterator接口。只要有可能,我们可以给迭代器传送一个引用,代替将来可能发生变化的具体或抽象类。
懒人建站系统源码,ubuntu无法删除目录,tomcat怎么设置一个端口,python爬虫基础实例,南京php外包公司哪家好学习,seo值分数lzw
图1 迭代器模式
破解网页查看源码,用mac还是ubuntu,jar包和tomcat服务,py爬虫招聘,nas运行php,广州去哪找关键字seolzw
参与者:

◆客户端Client):引用迭代器模式的方法在一组值或对象上执行一个循环。

◆迭代器Iterator):在迭代过程上的抽象,包括next(),isFinished(),current()等方法。

◆具体迭代器ConcreteIterators):在一个特定的对象集,如数组,树,组合,集合等上实现迭代。

通过Traversable接口,PHP原生态支持迭代器模式,这个接口由Iterator和IteratorAggregate做了扩展,这两个子接口不仅是定义了一套标准的方法,每个Traversable对象都可以原封不动地传递给foreach(),foreach是迭代器的主要客户端,Iterator实现是真正的迭代器,而IteratorAggregate是有其它职责的Traversable对象,它通过getIterator()方法返回一个Iterator。

标准PHP库是PHP中绑定的唯一通用目的面向对象库,定义了额外的接口和公用类。OuterIterator实现装饰一个Iterator,CachingIterator和LimitIterator是这个接口的两个例子。

RecursiveIterator是Iterator接口为树形结构实现的一个扩展,它定义了一组额外的方法检查迭代中当前元素的子对象是否存在。RecursiveArrayIterator和RecursiveDirectoryIterator是这个接口的实现示例,这些类型的迭代器可以原样使用,或是用一个RecursiveIteratorIterator桥接到一个普通的迭代器契约。这个OuterIterator实现将会根据构造参数执行深度优先或广度优先遍历。

使用RecursiveIteratorIterator时,可以将其传递给foreach,请看后面的代码示例,了解RecursiveIterators的不同用法和它们的超集Iterator。最后,SeekableIterators向契约添加了一个seek()方法,它可以用于移动Iterator的内部状态到一个特定的迭代点。


PHP设计模式漫谈之迭代器模式(1)
  • javascript设计模式之工厂模式的定义、分类、用法实例详解
  • javascript设计模式之工厂模式的定义、分类、用法实例详解 | javascript设计模式之工厂模式的定义、分类、用法实例详解 ...

    PHP设计模式漫谈之迭代器模式(1)
  • PHP设计模式四:继承 php购物车设计 php安全模式 php设计报
  • PHP设计模式四:继承 php购物车设计 php安全模式 php设计报 | PHP设计模式四:继承 php购物车设计 php安全模式 php设计报 ...

    PHP设计模式漫谈之迭代器模式(1)
  • PHP设计模式——观察者模式
  • PHP设计模式——观察者模式 | PHP设计模式——观察者模式 ...