php设计模式(迭代器模式)
2017-07-02 01:03
711 查看
/** * 1.迭代器模式,在不需要了解内部实现的前提下,遍历一个聚合对象的内部元素 * 2.相比于传统的编程模式,迭代器模式可以隐藏遍历元素的所需的操作 */ /** * 迭代器需要实现系统内置的接口, * 并且实现接口的五个方法; * */ class AllUser implements Iterator{//系统内置的接口 protected $ids; protected $data = [];// protected $index;//当前位置 public function __construct(){ $db = Factory::createDB(); $result = $db->query('select id from user'); $this->ids = $result->fetch_all(MYSQLI_ASSOC); } //获取下一个元素 public function next(){ $this->index++; } //印证当前是否还有下一个元素 public function valid(){ //返回当前索引是不是超出了 ids 的范围 return $this->index < count($this->ids); } //获取当前的元素 public function current(){ //获取当前的元素 $id = $this->ids[$this->index]['id']; return Factory::getUser($id); } //重置迭代器 public function rewind() { //将index重置为0 $this->index = 0; } //迭代器的位置 public function key() { return $this->index; } } $users = new AllUser(); foreach ($users as $user){ var_dump($user); }
相关文章推荐
- PHP设计模式漫谈之迭代器模式
- PHP设计模式(6)迭代器模式
- php设计模式之迭代器模式
- PHP 设计模式之迭代器模式
- PHP设计模式之迭代器模式
- PHP设计模式之迭代器模式的深入解析
- php设计模式之迭代器模式
- 慕课网----大话PHP设计模式 五(原型模式,装饰器模式,迭代器模式,代理模式)
- php设计模式 四 (观察者 原型模式 迭代器模式)
- PHP设计模式之迭代器模式
- PHP设计模式-迭代器模式
- php中的设计模式之--迭代器模式
- PHP设计模式之迭代器模式(Iterator)
- PHP设计模式 迭代器模式
- php设计模式 Interator (迭代器模式)
- PHP设计模式漫谈之迭代器模式(1)
- php实现设计模式之 迭代器模式
- 19. 星际争霸之php设计模式--迭代器模式
- PHP设计模式之迭代器模式
- PHP设计模式之迭代器模式