Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Iterator czy iteratorAggregate - wygoda?
Sephirus
post
Post #1





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam.

Tworzę obiekt, który zawiera tabelę, po której chciałbym aby był iterowany.

  1. class Obiekt
  2. {
  3. private $tabela = array(1,2,3,4,5); // itd...
  4.  
  5. // ... kod klasy...
  6. }


I teraz pytanie - skoro zależy mi jedynie na iteracji w FOREACH to czy zaimplementować w klasie interfejs ITERATOR czy ITERATORAGGREGATE. Ten drugi zajmie o wiele mniej kodu. Wydaje mi się, że rozumiem, że ITERATOR jest idealny jeżeli chcę zrobić "bardziej kreatywne" iterowanie po tej tabeli ale jeśli chcę najzwyklejsze to czy opłaca mi się używać ITERATOR? Dlaczego tak/nie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
-=Peter=-
post
Post #2





Grupa: Zarejestrowani
Postów: 304
Pomógł: 51
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----


W tym przypadku najprostszym rozwiązaniem będzie implementacja IteratorAggregate, a w metodzie getIterator tworzenie i zwracanie obiektu ArrayIterator.

  1. class Obiekt implements IteratorAggregate
  2. {
  3. private $tabela = array(1,2,3,4,5); // itd...
  4.  
  5. public function getIterator() { return new ArrayIterator($this->tabela); }
  6. }
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 20:09