Iterator design pattern is a software design pattern which provides access to
the elements of an aggregate object sequentially without exposing its
underlying representation. It makes elements appear as a collection of objects.
- Promote to "full object status" the traversal of a collection.
- Polymorphic traversal
- PHP offers Iterator interface
out of the box. Its SPL library has also a wide variety of
useful iterators. After
understanding the basics of the iterator pattern using these instead of
reinventing the wheel is more convenient.