dhii / iterator-interface
标准迭代器的接口
v0.1-alpha1
2018-04-24 19:28 UTC
Requires
- php: ^5.3 | ^7.0
- dhii/data-hierarchy-interface: ^0.1
- dhii/data-key-value-aware-interface: ^0.1
- dhii/data-path-aware-interface: ^0.1
- dhii/exception-interface: ^0.1 | ^0.2
Requires (Dev)
- codeclimate/php-test-reporter: <=0.3.2
- dhii/php-cs-fixer-config: dev-php-5.3
- phpunit/phpunit: ^4.8
- ptrofimov/xpmock: ^1.1
This package is auto-updated.
Last update: 2024-09-07 03:13:42 UTC
README
详细信息
这是一个迭代器标准,旨在通过暴露不可变的迭代对象来提供有关每次迭代的更多信息。该对象可以安全地传递给其他方法,即使那些保存其引用的方法,因为每次迭代都会创建一个新的对象。该对象可以提供除了当前键和值之外的其他信息。这使得此标准的实现比其他迭代器实现(如 DirectoryIterator
)更容易使用,后者通过迭代器本身而不是单独的对象公开迭代数据,这使得保持迭代数据不可变变得困难。由于其操作方法允许抛出特定类型的异常,因此可以创建更可靠的消费者,并具有有意义的错误报告。
特性
- 所有符合标准规范的迭代器都是PHP迭代器。
- 通过不可变和可扩展的迭代对象提供迭代信息。
- 更容易跟踪迭代信息:每次迭代产生一个单独的迭代对象。
- 可以通过承诺自定义迭代类型在接口级别创建专门的迭代器类型。
接口
IteratorInterface
- 通过暴露可丢弃的迭代对象扩展了原生的Iterator
。还承诺在回滚或前进时抛出特定类型的有意义的异常。IterationInterface
- 公开迭代的键和值。IteratorAwareInterface
- 公开迭代器。RecursiveIteratorInterface
- 一个递归遍历其他迭代器的迭代器。RecursiveIterationInterface
- 递归迭代器的迭代。公开迭代器层次结构的深度,以及在该层次结构中当前迭代的路径。DepthAwareIterationInterface
- 一个可以告诉它在层次结构中有多深的迭代。PathSegmentsAwareIterationInterface
- 一个可以告诉它在层次结构中的路径的迭代。IteratingExceptionInterface
- 可能发生在迭代过程中的一种异常。IterationExceptionInterface
- 与迭代相关联的迭代异常。IteratorExceptionInterface
- 与迭代器相关联的迭代异常。