PHP design pattern: iterator pattern, php design pattern
Without understanding the internal implementation, traverse the internal elements of an aggregate object without exposing the internal representation of the object. This is the definition of the PHP iterator mode.
Applicable scenarios:
Access the content of an aggregate object without exposing its internal representation
Supports multiple traversal of aggregate objects
Provides a unified interface for Traversing different aggregation structures
Iterator mode instance:
<? Phpclass ConcreteIterator implements Iterator {private $ position = 0; private $ arr; function _ construct (array $ arr) {$ this-> arr = $ arr;} function rewind () {$ this-> position = 0;} function current () {return $ this-> arr [$ this-> position];} function key () {return $ this-> position;} function next () {++ $ this-> position;} function valid () {return isset ($ this-> arr [$ this-> position]) ;}}$ arr = array ('xiao hong ', 'xiao ming', 'xiaohua '); $ concreteIterator = new ConcreteIterator ($ arr); foreach ($ concreteIterator as $ key => $ value) {echo $ key. "=> ". $ value. "\ n ";}
The above is all of the content in this article, hoping to help you learn the PHP design model.