#key - Stop abusing arrays in PHP | Nomad Software
class PondsCollection implements IteratorAggregate
{
private $collection = array();
public function getIterator()
{
return new ArrayIterator($this->collection);
}
public function add($pond)
{
$this->collection[] = $pond;
}
}
$ponds = new PondsCollection();
$ponds->add(...);
foreach ($ponds as $pond)
{
...
}
//http://www.php.net/manual/en/class.iteratoraggregate.php
//http://www.php.net/manual/en/spl.iterators.php