首頁  >  文章  >  後端開發  >  PHP設計模式之迭代器模式詳解

PHP設計模式之迭代器模式詳解

韦小宝
韦小宝原創
2017-11-15 10:36:411808瀏覽

迭代器模式在不需要了解內部的前提下,遍歷一個聚合物件的內部元素,相較於傳統的程式模式,迭代器模式可以隱藏遍歷元素的所有操作

PHP設計模式之迭代器模式詳解

<?php

/*
 * 迭代器模式
 */
class All implements \Iterator
{
    protected $ids;
    protected $index;

    public function __construct($data)
    {
        $this->ids = $data;
    }

    public function current() //获取当前的元素
    {
        return $this->ids[$this->index];
    }

    public function next() //获取下一个元素
    {
        $this->index++;
    }

    public function valid() //验证当下是否还有下一个元素
    {
        return $this->index < count($this->ids);
    }

    public function rewind() //重置迭代器指针
    {
        $this->index = 0;
    }

    public function key() //迭代器指针的位置
    {
        return $this->index;
    }
}

$arr = [&#39;1&#39;, &#39;2&#39;, &#39;4&#39;]; //客户端
$users = new All($arr);
foreach ($users as $user) {
    var_dump($user);
}

迭代器模式是一種使用頻率非常高的設計模式,透過引入迭代器可以將資料的遍歷功能從聚物件中分離出來,聚合物件只負責儲存數據,而遍歷資料則由迭代器來完成

相關推薦:

星海爭霸之php迭代器模式

PHP變數引用PHP迭代器模式(引用SPL實作)

php設計模式之觀察者模式詳解

#

以上是PHP設計模式之迭代器模式詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn