-
PHP 生成器类和Closure类
生成器提供了一种更容易的方法来实现简单的对象迭代,相比较定义类实现 Iterator 接口的方式,性能开销和复杂性大大降低。Closure 类用于代表匿名函数的类
-
PHP Serializable(序列化接口)接口
Serializable是自定义序列化的接口
-
PHP Iterator(迭代器)接口
PHP Iterator(迭代器)接口让一个类实现一个基本的迭代功能
-
PHP ArrayAccess(数组式访问)接口
PHP ArrayAccess(数组式访问)接口提供像访问数组一样访问对象的能力的接口
-
PHP IteratorAggregate(聚合式迭代器)接口
PHP IteratorAggregate(聚合式迭代器)接口接口实现了一个功能——创建外部迭代器,当我们使用foreach对对象进行便遍历的时候,如果没有继承IteratorAggregate接口,遍历的是对象中所有的public属性(只能是public $var这种形式)。要是继承了IteratorAggregate,会使用类中实现的getIterator方法返回的对象,这里要注意返回的一定要是一个Traversable对象或者扩展自Traversable的对象,否则会抛出异常
PHP预定义接口的使用
PHP中有好几个预定义的接口,比较常用的四个接口:IteratorAggregate(聚合式迭代器)、Countable(统计对象的元素个数)、ArrayAccess(数组式访问)、Iterator(迭代器)