欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP设计模式 迭代器模式

程序员文章站 2022-05-11 16:09:30
...
迭代器模式,在不需要了解内部实现的前提下,遍历一个聚合对象的内部元素。相比于传统的编程模式,迭代器模式可以隐藏遍历元素所需要的操作。

AllHacl.php

php

namespace Baobab;


class AllHacl implements \iterator{

    protected$ids;protected$index;//当前位置function __construct(){
        $db = Factory::getDatabase('ha_cl');
        $result = $db->query('select ID from ha_cl');
        $this->ids = $result->fetch_all(MYSQLI_ASSOC);
    }
/**
   * 返回当前元素
*/
functioncurrent(){ $id = $this->ids[$this->index]['ID']; return Factory::getHacl($id); }
/**
   * 向前移动到下一个元素
*/
functionnext(){ $this->index ++; } /** * 返回到迭代器的第一个元素 */functionrewind(){ $this->index = 0; } /** * 查询当前位置是否有数据 */function valid(){ return$this->index - count($this->ids); }
/**
   * 返回当前元素的键
*/
functionkey(){ return$this->index; } }

index.php

$hacls = new \Baobab\AllHacl();
foreach($haclsas$hacl){
    var_dump($hacl->haclname);
}

Hacl类相关内容参考数据对象映射模式。http://www.cnblogs.com/tianxintian22/p/5232016.html

以上就介绍了PHP设计模式 迭代器模式,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。