Класс UnfoldIterator
Итератор, который может использоваться для генерации вложенных итераторов из коллекции элементов, применяя функцию к каждому элементу в этом итераторе.
Краткое описание свойств
-
$_innerIterator protected
TraversableСсылка на внутренний итератор, который оборачивает этот объект.
-
$_unfolder protected
callableФункция, которая передаётся каждому элементу в этом итераторе и должна возвращать массив или объект Traversable.
Краткое описание методов
-
__construct() public
Создаёт итератор, который будет генерировать дочерние итераторы из каждого элемента, с которым он был создан.
-
getChildren() public
Возвращает итератор, содержащий элементы, сгенерированные путём преобразования текущего значения с помощью вызываемой функции.
-
hasChildren() public
Возвращает true, так как каждый элемент в массиве представляет список элементов.
Подробное описание методов
__construct() public
__construct(Traversable $items, callable $unfolder)
Создаёт итератор, который будет генерировать дочерние итераторы из каждого элемента, с которым он был создан.
Параметры
-
Traversable$items Список значений для итерации
-
callable$unfolder Вызываемая функция, которая получит текущий элемент и ключ. Она должна вернуть массив или объект Traversable, из которого будут генерироваться вложенные итераторы.
getChildren() public
getChildren(): RecursiveIterator
Возвращает итератор, содержащий элементы, сгенерированные путём преобразования текущего значения с помощью вызываемой функции.
Возвращаемое значение
RecursiveIteratorhasChildren() public
hasChildren(): bool
Возвращает true, так как каждый элемент в массиве представляет список элементов.
Возвращаемое значение
boolПодробное описание свойств
$_innerIterator protected
Ссылка на внутренний итератор, который оборачивает этот объект.
Тип
Traversable$_unfolder protected
Функция, которая передаётся каждому элементу в этом итераторе и должна возвращать массив или объект Traversable.
Тип
callable
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.Collection.Iterator.UnfoldIterator.html