SPL(Standard PHP Library)迭代器接口简介

(一)迭代器和迭代器接口是什么

  • 迭代器

  迭代器(iterator)有时又称游标(cursor)是程序设计的软件设计模式,可在容器(container,例如链表或阵列)上遍访的接口,设计人员无需关心容器的内容。

迭代器,你可以简单理解为一个可以foreach的对象。

  • 迭代器接口

  通过实现这个接口的类,就相当于一个迭代器。可以被用在foreach循环结构中。并且能够提供一些高级的数据访问模式。

(二)迭代器接口的作用

  SPL迭代器接口的作用在于帮组实现高级的迭代算法,允许为类创建精巧的数据访问方法。这些接口形成了创建迭代器的基础。可以直接实现这些接口去创建所需的迭代器。SPL同时也扩展定义了更多的内置迭代器类。

(三)SPL提供的迭代器接口

  SPL提供了6个关于迭代器的接口

  • Traversable:无法被单独实现的基本抽象接口,其他的迭代器接口都直接或间接继承自该接口
  • Iterator:直接继承自Traversable接口的两个基本迭代器接口之一
  • SeekableIterator:Iterator接口的扩展,实现该接口允许通过键值进行查找
  • IteratorAggregate:直接继承自Traversable接口的两个基本迭代器接口之一,允许将迭代器所需实现方法委托给一个实现Iterator接口的迭代器
  • OuterIterator:继承自Iterator接口,允许将多个迭代器包裹其中
  • RecurisveIterator:继承自Iterator接口,提供递归访问功能

来源:慕课手记 https://www.imooc.com/article/17892

转载请注明出处:https://www.onexin.net/spl-standard-php-library/

相关文章:

1、SPL迭代器接口(六)—RecursiveIterator Interface
https://www.onexin.net/spl-recursiveiterator-interface/

2、SPL迭代器接口(五)—OuterIterator Interface
https://www.onexin.net/spl-outeriterator-interface/

3、SPL迭代器接口(四)—IteratorAggregate Interface
https://www.onexin.net/spl-iteratoraggregate-interface/

4、SPL迭代器接口(三)—SeekableIterator Interface
https://www.onexin.net/spl-seekableiterator-interface/

5、SPL迭代器接口(二)—Iterator Interface
https://www.onexin.net/spl-iterator-interface/

Leave a Reply