ИТЕРАТОР ПАТТЕРН 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