您好,欢迎访问一九零五行业门户网

PHP设计模式 迭代器模式

迭代器模式,在不需要了解内部实现的前提下,遍历一个聚合对象的内部元素。相比于传统的编程模式,迭代器模式可以隐藏遍历元素所需要的操作。
allhacl.php
phpnamespace 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教程有兴趣的朋友有所帮助。
其它类似信息

推荐信息