程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP設計模式 迭代器模式,php設計模式模式

PHP設計模式 迭代器模式,php設計模式模式

編輯:關於PHP編程

PHP設計模式 迭代器模式,php設計模式模式


迭代器模式,在不需要了解內部實現的前提下,遍歷一個聚合對象的內部元素。相比於傳統的編程模式,迭代器模式可以隱藏遍歷元素所需要的操作。

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);
    }
  /**
   * 返回當前元素
   */ function current(){ $id = $this->ids[$this->index]['ID']; return Factory::getHacl($id); }
  /**
   * 向前移動到下一個元素
   */ function next(){ $this->index ++; } /** * 返回到迭代器的第一個元素 */ function rewind(){ $this->index = 0; } /** * 查詢當前位置是否有數據 */ function valid(){ return $this->index - count($this->ids); }
  /**
   * 返回當前元素的鍵
   */ function key(){ return $this->index; } }

index.php

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

Hacl類相關內容參考數據對象映射模式。http://www.cnblogs.com/tianxintian22/p/5232016.html

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved