Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Interfejs Iterator
Forum PHP.pl > Forum > PHP > Object-oriented programming
Radarek
Jak to jest z tym interfejsem? Wedle ksiazki http://helion.pl/ksiazki/php5zp.htm oraz chocby i artykulu na zend http://www.zend.com/php5/articles/engine2-...s.php#Heading21 implementujac interfejs Iterator nalezy zdefiniowac (jesli klasa nie jest abstrakcyjna) nastepujace metody:
-rewind
-key
-current
-next
-hasMore

Niestety przy probie napisania klasy implementujacej ten interfejs dostaje blad:
Cytat
Fatal error: Class CollectionIterator contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Iterator::valid) in C:\AppServ\www\php\class.Collection.php on line 100


Inne zrodla podaja ze nalezy interfejs Iterator nie ma metody 'hasMore' lecz 'valid' (np http://www.phptr.com/articles/article.asp?...8&seqNum=3&rl=1 ). Skad bierze sie ta rozbieznosc? Przeciez zrodla takie jak zend czy wspomniana ksiazka nie wziely tego z powietrza :-). Szukalem w manualu php, jednak nic nie znalazlem o tym interfejsie.
NuLL
Bo ma byc valid. Czemu sie rozbieznosci - nie wiem tongue.gif

php -> php 5
Termit_
Cytat(Radarek @ 2005-12-27 15:26:32)
Szukalem w manualu php, jednak nic nie znalazlem o tym interfejsie.

http://php.mainseek.com/manual/pl/language....iterations.php hmm winksmiley.jpg
bela
http://www.php.net/~helly/php/ext/spl/
Chyba najlepiej u źródła szukać.
DeyV
SPL cały czas się rozwija.
Wraz z kolejnymi wersjami php pojawiają się kolejne modyfikacjie tej biblioteki. Zresztą - manual ostrzega przed możliwymi problemami.
W związku z tym nieuniknione są takie różnice.

Ale zalety SPL są i tak tak wielkie, że można im to wybaczyć winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.