ホームページ >バックエンド開発 >PHPチュートリアル >PHPデザインパターンのイテレータパターンの詳細説明

PHPデザインパターンのイテレータパターンの詳細説明

韦小宝
韦小宝オリジナル
2017-11-15 10:36:411908ブラウズ

イテレーター パターン内部を知ることなく集合オブジェクトの内部要素を走査します。従来のプログラミング パターンと比較して、イテレーター パターンは要素を走査するすべての操作を隠すことができます

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。