L3 Info : PHP et Applications Web
 
◃  Ch. 6 SPL : Standard PHP Library  ▹
 

Countable, SeekableIterator, RecursiveIterator

  • Countable : Interface permettant d'utiliser la fonction count() sur les objets
    interface Countable {
    /* Méthodes */
    abstract public int count ( void )
    }
  • SeekableIterator : autorise l'accès à un élément particulier
    /* Méthode supplémentaire*/
    abstract public void seek ( int $position )
  • Source exemple :
    class LivreIterator3 extends LivreIterator implements SeekableIterator {
    
      public function seek($position) {
        if ($position<0 || $position>$this->count()) {
          throw new OutOfBoundsException("position invalide ($position)");
        }
    
        $this->idLivre = $position;
      }
    
    }
  • Execution exemple :
    try {
        $literator3 = new LivreIterator3();
        $literator3->seek(100);
        echo $literator3->current();
        $literator3->seek(200);
    } catch (OutOfBoundsException $e) {
        echo $e->getMessage();
    }
  • RecursiveIterator : Iterator pour structure multi-niveaux, hérite de Itérator
    /* Méthodes supplémentaires */
     public RecursiveIterator getChildren ( void )
    public bool hasChildren ( void )