Spec-Zone.ru › CakePHP 3.2

Класс TreeIterator

Рекурсивный итератор, используемый для сплющивания вложенных структур, а также предоставляет все методы Collection.

RecursiveIteratorIterator реализует Iterator, Traversable, OuterIterator
Extended by Cake\Collection\Iterator\TreeIterator использует Cake\Collection\CollectionTrait
Пространство имён: Cake\Collection\Iterator
Расположение: Collection/Iterator/TreeIterator.php

Наследуемые константы

  • CATCH_GET_CHILD, CHILD_FIRST, LEAVES_ONLY, SELF_FIRST

Краткое описание свойств

  • $_mode protected
    integer
    Режим итерации

Краткое описание методов

  • __construct() public
    Конструктор
  • printer() public

    Возвращает другой итератор, который будет возвращать значения, готовые для отображения пользователю. Он делает это, извлекая одно свойство из каждого элемента и добавляя его префикс, так что можно визуализировать относительное положение в дереве.

Подробное описание методов

__construct()source public

__construct( RecursiveIterator $items , integer $mode Cake\Collection\Iterator\RecursiveIteratorIterator::SELF_FIRST , integer $flags 0 )

Конструктор

Параметры

RecursiveIterator $items
Итератор для сплющивания.
integer $mode необязательно Cake\Collection\Iterator\RecursiveIteratorIterator::SELF_FIRST
Режим итерации.
integer $flags необязательно 0
Флаги итератора.

Переопределяет

RecursiveIteratorIterator::__construct()

printer()source public

printer( string|callable $valuePath , string|callable|null $keyPath null , string $spacer '__' )

Возвращает другой итератор, который будет возвращать значения, готовые для отображения пользователю. Он делает это, извлекая одно свойство из каждого элемента и добавляя его префикс, так что можно визуализировать относительное положение в дереве.

И $valuePath, и $keyPath могут быть строкой со свойством для извлечения или точечной строкой свойств, которые необходимо последовательно извлечь, чтобы получить последнее в цепочке.

В качестве альтернативы $valuePath и $keyPath могут быть вызываемыми функциями. Они получат текущий элемент в качестве первого параметра, текущий ключ итерации в качестве второго параметра и экземпляр итератора в качестве третьего аргумента.

Пример

$printer = (new Collection($treeStructure))->listNested()->printer('name');

Использование замыкания:

$printer = (new Collection($treeStructure))
     ->listNested()
     ->printer(function ($item, $key, $iterator) {
         return $item->name;
     });

Параметры

string|callable $valuePath

Свойство для извлечения или вызываемая функция для возвращения значения для отображения

string|callable|null $keyPath необязательно null

Свойство, используемое в качестве ключа итерации, или вызываемая функция, возвращающая значение ключа.

string $spacer необязательно '__'

Строка, используемая для добавления префикса к значениям в зависимости от их глубины в дереве

Возвращает

Cake\Collection\Iterator\TreePrinter

Методы, используемые из Cake\Collection\CollectionTrait

_unwrap()source public

_unwrap( )

Обработчик совместимости с предыдущими версиями для unwrap()

Устарело

Возвращает

Iterator

append()source public

append( $items )

buffered()source public

buffered( )

Возвращает

Cake\Collection\Iterator\BufferedIterator

chunk()source public

chunk( $chunkSize )

combine()source public

combine( $keyPath , $valuePath , $groupPath null )

compile()source public

compile( $preserveKeys true )

contains()source public

contains( $value )

countBy()source public

countBy( $callback )

each()source public

each( callable $c )

every()source public

every( callable $c )

extract()source public

extract( $matcher )

filter()source public

filter( callable $c null )

Возвращает

Cake\Collection\Iterator\FilterIterator

first()source public

first( )

firstMatch()source public

firstMatch( array $conditions )

groupBy()source public

groupBy( $callback )

indexBy()source public

indexBy( $callback )

insert()source public

insert( $path , $values )

Возвращает

Cake\Collection\Iterator\InsertIterator

isEmpty()source public

isEmpty( )

jsonSerialize()source public

jsonSerialize( )

last()source public

last( )

listNested()source public

listNested( $dir 'desc' , $nestingKey 'children' )

Возвращает

Cake\Collection\Iterator\TreeIterator
END_OF_DOCUMENT_MARKER

map()source public

map( callable $c )

Возвращает

Cake\Collection\Iterator\ReplaceIterator

match()source public

match( array $conditions )

max()source public

max( $callback , $type SORT_NUMERIC )

min()source public

min( $callback , $type SORT_NUMERIC )

nest()source public

nest( $idPath , $parentPath )

reduce()source public

reduce( callable $c , $zero null )

reject()source public

reject( callable $c )

Возвращает

Cake\Collection\Iterator\FilterIterator

sample()source public

sample( $size 10 )

shuffle()source public

shuffle( )

skip()source public

skip( $howMany )

some()source public

some( callable $c )

sortBy()source public

sortBy( $callback , $dir SORT_DESC , $type SORT_NUMERIC )

stopWhen()source public

stopWhen( $condition )

Возвращает

Cake\Collection\Iterator\StoppableIterator

sumOf()source public

sumOf( $matcher null )

take()source public

take( $size 1 , $from 0 )

through()source public

through( callable $handler )

toArray()source public

toArray( $preserveKeys true )

toList()source public

toList( )

unfold()source public

unfold( callable $transformer null )

unwrap()source public

unwrap( )

zip()source public

zip( $items )

zipWith()source public

zipWith( $items , $callable )

Подробное описание свойств

$_modesource

protected целое число

Режим итерации

© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.Collection.Iterator.TreeIterator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API