当前位置:  开发笔记 > 编程语言 > 正文

我应该在PHP中使用哪种Iterator实现,为什么?

如何解决《我应该在PHP中使用哪种Iterator实现,为什么?》经验,为你挑选了1个好方法。

我正在尝试重构一个大型的旧项目,我注意到的一件事是一系列不同的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.这些迭代器的实现是否具有令人信服的优势,还是仅仅是个人品味的问题?



1> Greg..:

SPL版本绝对是最佳选择.它不仅是最容易阅读的,而且它现在是PHP的一部分,因此对更多人来说会很熟悉.

其他人没有"错误",但正如你所说,在一个项目中拥有所有这些不同版本并没有帮助任何人.

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有