Wzorce projektowe – Iterator

Założenie: Stworzymy prosty przykład iteratora w PHP, który pozwoli iterować po kolekcji obiektów bez konieczności znajomości jej wewnętrznej implementacji.

Krok po kroku:

  1. Krok 1: Tworzenie interfejsu Iteratora. Definiujemy interfejs MyIterator, który określa metody wymagane przez iterator.
  2. 
    interface MyIterator {
      public function current();
      public function key();
      public function next();
      public function rewind();
      public function valid();
    }
    				
  3. Krok 2: Implementacja iteratora. Tworzymy klasę MyCollection, która implementuje interfejs MyIterator i przechowuje kolekcję danych.
  4. 
    class MyCollection implements MyIterator {
      private $items = [];
      private $position = 0;
    
      public function __construct(array $items) {
        $this->items = $items;
      }
    
      public function current() {
        return $this->items[$this->position];
      }
    
      public function key() {
        return $this->position;
      }
    
      public function next() {
        $this->position++;
      }
    
      public function rewind() {
        $this->position = 0;
      }
    
      public function valid() {
        return isset($this->items[$this->position]);
      }
    }
    				
  5. Krok 3: Użycie iteratora. Tworzymy instancję MyCollection i iterujemy po niej za pomocą pętli foreach.
  6. 
    $collection = new MyCollection(['apple', 'banana', 'cherry']);
    
    foreach ($collection as $item) {
      echo $item . "
    "; }

Ten przykład demonstruje podstawowe zasady wzorca projektowego Iterator w PHP. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z bardziej zaawansowanymi przykładami.

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *