Я пытаюсь реорганизовать большой, старый проект и одну вещь я заметил целый ряд различных реализаций Iterator:Какую реализацию Iterator следует использовать в PHP и почему?
while($iterator->moveNext()) {
$item = $iterator->current();
// do something with $item;
}
for($iterator = getIterator(), $iterator->HasNext()) {
$item = $iterator->Next();
// do something with $item
}
while($item = $iterator->fetch()) {
// do something with item
}
или даже StandardPHPLibrary (SPL) итератор, который позволяет
foreach($iterator as $item) {
// do something with $item
}
Имея так много разных Итераторов (с разными методами для перебора по коллекциям) кажется сильным запахом кода, и я склонен реорганизовать все на SPL. Есть ли неотъемлемое преимущество для любой из этих реализаций Iterator, или это просто вопрос личного вкуса?