- IteratorAggregate : Interface pour créer un itérateur externe
interface IteratorAggregate extends Traversable {
/* Méthodes */
abstract public Traversable getIterator ( void )
}
- IteratorAggregate permet d'externaliser le mécanisme d'itération (les méthodes d'Iterator)
![](images/IteratorAggregate.png)
- Source classe LivreMetierAggregate :
class LivreMetierAggregate implements IteratorAggregate {
public function getIterator() {
return new LivreIterator();
}
}
- Exécution :
$lma = new LivreMetierAggregate();
$literator = $lma->getIterator();
echo "<ul>";
foreach ($literator as $livre)
echo "<li>".$literator->current()."</li>";
echo "</ul>";