我試圖重構一個大的,舊的項目一兩件事我注意到是一系列不同的迭代器實現的:我應該在PHP中使用Iterator的哪個實現,爲什麼?
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的這些實現是否具有令人信服的優勢,還是純粹是個人品味的問題?