return $reference; } } $D1 = new Description(18, 70); $D2 = new Description(6, 25); $P1 = new Personne('A', 'aa', $D1); $P2 = new Personne('B', 'bb', $D2); $Voiture = new Voiture(); $Voiture->ajouterPersonne($P1)->ajouterPersonne($P2); echo '<h1>On peut verifier si un objet est transversable</h1>'; if ($Voiture instanceof Traversable) { echo '<p>Voirture est transversable</p>'; } if (!$P1 instanceof Traversable) { echo '<p>Personne n\'est pas transversable</p>'; } //echo $Voiture->nbr2vehicule(); //var_dump($Voiture); //http://www.sitepoint.com/php-simple-object-iterators/ echo '<h1>Foreach parcour les Personnes dans la voiture</h1>'; foreach ($Voiture as $cle => $Personne) { echo $Personne->nom() . ' age : ' . $Personne->description_age() . '<br />'; } echo '<h1>On peut creer un iterateur pour parcourrir voiture</h1>'; $Voiture->rewind(); var_dump($Voiture->current()->nom()); $Voiture->next(); var_dump($Voiture->current()->nom()); $Voiture->next(); var_dump($Voiture->current()->nom()); var_dump($Voiture->count());