Detaillierte Erläuterung des Iteratormusters von PHP-Entwurfsmustern

韦小宝
Freigeben: 2023-03-17 14:32:01
Original
1866 Leute haben es durchsucht

IteratormusterDurchläuft die internen Elemente eines Aggregatobjekts, ohne die Interna zu kennen. Im Vergleich zum herkömmlichen Programmiermodell kann Iteratormuster die Elemente der Durchquerung aller Operationen

Detaillierte Erläuterung des Iteratormusters von PHP-Entwurfsmustern

<?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);
}
Nach dem Login kopieren
Das Iteratormuster ist ein sehr häufig verwendetes Entwurfsmuster. Durch die Einführung von Iteratoren kann die Datendurchlauffunktion vom Aggregatobjekt getrennt werden, für das das Aggregatobjekt nur verantwortlich ist Das Speichern von Daten und das Durchlaufen der Daten wird durch Iteratoren vervollständigt

Verwandte Empfehlungen:

Interstellares PHP-Iteratormuster für Hegemonie

PHP-Variablenreferenz-PHP-Iteratormuster (Zitat der SPL-Implementierung)

Beobachtungen zu PHP-Entwurfsmustern Ausführliche Erklärung des Benutzermodus

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Iteratormusters von PHP-Entwurfsmustern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!