ИТЕРАТОР ПАТТЕРН PHP

Итератор паттерн - это поведенческий паттерн проектирования, который предоставляет единый интерфейс для доступа к элементам коллекции, без раскрытия ее внутренней структуры.

В PHP данный паттерн используется для работы с различными типами данных, такими как массивы, списки и другие сущности. Для создания итератора необходимо реализовать интерфейс Iterator, который содержит несколько основных методов:

Iterator interface
current()
next()
key()
valid()
rewind()

Пример:

class MyIterator implements Iterator {
    private $items = array();
    private $position = 0;
    function __construct($items) {
        $this->items = $items;
    }
    function rewind() {
        $this->position = 0;
    }
    function current() {
        return $this->items[$this->position];
    }
    function key() {
        return $this->position;
    }
    function next() {
        $this->position += 1;
    }
    function valid() {
        return isset($this->items[$this->position]);
    }
}

Данный пример создает класс MyIterator, который реализует интерфейс Iterator. После создания экземпляра данного класса, можно использовать его для обработки коллекций или массивов:

$items = array('один', 'два', 'три', 'четыре');
$iterator = new MyIterator($items);
foreach($iterator as $key => $value) {
    echo $key . ': ' . $value . '
';

}

Результат:

0: один
1: два
2: три
3: четыре

PHP Iterators \u0026 Iterable Type - Iterate Over Objects - Full PHP 8 Tutorial

Iterator Design Pattern in detail - Interview Question

Intro to Doctrine PHP - DataBase Abstraction Layer - Query Builder - Full PHP 8 Tutorial

What are PHP Iterators?

Шаблоны проектирования: Итератор

JavaScript Паттерны #14 - Iterator (Итератор)

PHP Tutorial: Generators and Iterators - Quick Guide

Iterator - Design Pattern in PHP - OOP Design Patterns - What and How to use it

Реклама
Новое
Реклама