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

Interface ArrayAccess

  • ArrayAccess : Interface permettant d'utiliser les [] sur les objets
    interface ArrayAccess {
      /* Méthodes */
      abstract public boolean offsetExists ( mixed $offset )
      abstract public mixed offsetGet ( mixed $offset )
      abstract public void offsetSet ( mixed $offset , mixed $value )
      abstract public void offsetUnset ( mixed $offset )
    }
    • ArrayAccess::offsetExists — Indique si une position existe dans un tableau
    • ArrayAccess::offsetGet — Position à lire
    • ArrayAccess::offsetSet — Position à assigner
    • ArrayAccess::offsetUnset — Position à supprimer
  • Source LivreIterator2
    class LivreIterator2 extends LivreIterator implements ArrayAccess {
    
      public function offsetExists($offset) {
        $testOffset = LivreMetier::initLivreMetier($offset);
        if (isset($testOffset))
          return true ;
        else
          return false;
      }
    
      public function offsetGet($offset) {
        return LivreMetier::initLivreMetier($offset);
      }
    
      public function offsetSet($offset, $value) {
        // pas possible avec LivreIterator : update de livre ?
      }
    
      public function offsetUnset($offset) {
        // pas possible avec LivreIterator : suppression de livre ?
      }
    
    }
  • Execution exemple :
    $li2 = new LivreIterator2();
    
    echo $li2[5];
    echo $li2[117];
    echo $li2[5];