Класс TreeIterator
Рекурсивный итератор, используемый для выравнивания вложенных структур, а также предоставляет все методы Collection
- RecursiveIteratorIterator реализует Iterator, Traversable, OuterIterator
-
Cake\Collection\Iterator\TreeIterator использует Cake\Collection\CollectionTrait
Подробное описание метода
__constructsource 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() printersource public
printer( string|callable $valuePath , string|callable $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
$keyPathнеобязательно null - Свойство для использования в качестве ключа итерации или вызываемая функция, возвращающая значение ключа.
- string
$spacerнеобязательно '__' - Строка, используемая для добавления префикса к значениям в соответствии с их глубиной в дереве
Возвращает
Cake\Collection\Iterator\TreePrinter\Cake\Collection\Iterator\TreePrinter
Методы, используемые из Cake\Collection\CollectionTrait
_unwrapsource public
_unwrap( )
Обратный совместимый обёртка для unwrap()
Устарело
Возвращает
Iterator\Iterator
appendsource public
append( mixed $items )
bufferedsource public
buffered( )
Возвращает
Cake\Collection\Iterator\BufferedIterator\Cake\Collection\Iterator\BufferedIterator
chunksource public
chunk( mixed $chunkSize )
combinesource public
combine( mixed $keyPath , mixed $valuePath , mixed $groupPath null )
compilesource public
compile( mixed $preserveKeys true )
containssource public
contains( mixed $value )
countBysource public
countBy( mixed $callback )
eachsource public
each( callable $c )
everysource public
every( callable $c )
extractsource public
extract( mixed $matcher )
filtersource public
filter( callable $c null )
Возвращает
Cake\Collection\Iterator\FilterIterator\Cake\Collection\Iterator\FilterIterator
firstsource public
first( )
firstMatchsource public
firstMatch( array $conditions )
groupBysource public
groupBy( mixed $callback )
indexBysource public
indexBy( mixed $callback )
insertsource public
insert( mixed $path , mixed $values )
Возвращает
Cake\Collection\Iterator\InsertIterator\Cake\Collection\Iterator\InsertIterator
isEmptysource public
isEmpty( )
jsonSerializesource public
jsonSerialize( )
lastsource public
last( )
listNestedsource public
listNested( mixed $dir 'desc' , mixed $nestingKey 'children' )
Возвращает
Cake\Collection\Iterator\TreeIterator\Cake\Collection\Iterator\TreeIterator
mapsource public
map( callable $c )
Возвращает
Cake\Collection\Iterator\ReplaceIterator\Cake\Collection\Iterator\ReplaceIterator
matchsource public
match( array $conditions )
maxsource public
max( mixed $callback , mixed $type SORT_NUMERIC )
minsource public
min( mixed $callback , mixed $type SORT_NUMERIC )
nestsource public
nest( mixed $idPath , mixed $parentPath )
reducesource public
reduce( callable $c , mixed $zero null )
rejectsource public
reject( callable $c )
Возвращает
Cake\Collection\Iterator\FilterIterator\Cake\Collection\Iterator\FilterIterator
samplesource public
sample( mixed $size 10 )
shufflesource public
shuffle( )
skipsource public
skip( mixed $howMany )
somesource public
some( callable $c )
sortBysource public
sortBy( mixed $callback , mixed $dir SORT_DESC , mixed $type SORT_NUMERIC )
stopWhensource public
stopWhen( mixed $condition )
Возвращает
Cake\Collection\Iterator\StoppableIterator\Cake\Collection\Iterator\StoppableIterator
sumOfsource public
sumOf( mixed $matcher null )
takesource public
take( mixed $size 1 , mixed $from 0 )
throughsource public
through( callable $handler )
toArraysource public
toArray( mixed $preserveKeys true )
toListsource public
toList( )
unfoldsource public
unfold( callable $transformer null )
unwrapsource public
unwrap( )
zipsource public
zip( mixed $items )
zipWithsource public
zipWith( mixed $items , mixed $callable )
Методы, используемые из Cake\Collection\ExtractTrait
_createMatcherFiltersource protected
_createMatcherFilter( array $conditions )
Возвращает вызываемый объект, принимающий значение и возвращающий, соответствует ли оно определённому условию.
Параметры
- массив
$conditions - Список пар ключ-значение условий для сопоставления, где ключ - путь к свойству для получения из текущего элемента, а значение - значение для сравнения с элементом.
Возвращает
callableвызываемый объект
_extractsource protected
_extract( array|ArrayAccess $data , array $path )
Возвращает столбец из $data, который можно извлечь, перебирая имена столбцов, содержащиеся в $path. Вернёт массивы для элементов, представленных с помощью {*}
Параметры
- массив или ArrayAccess
$data - Данные.
- массив
$path - Путь для извлечения.
Возвращает
mixedсмешанное значение
_propertyExtractorsource protected
_propertyExtractor( string|callable $callback )
Возвращает вызываемый объект, который можно использовать для извлечения свойства или столбца из массива или объекта на основе пути, разделённого точками.
Параметры
- строка или вызываемый объект
$callback - Путь к столбцу, разделённый точками, чтобы получить конечное значение, или вызываемый объект, который позаботится об этом.
Возвращает
callableвызываемый объект
_simpleExtractsource protected
_simpleExtract( array|ArrayAccess $data , array $path )
Возвращает столбец из $data, который можно извлечь, перебирая имена столбцов, содержащиеся в $path
Параметры
- массив или ArrayAccess
$data - Данные.
- массив
$path - Путь для извлечения.
Возвращает
mixedсмешанное значение
Постоянные, унаследованные от RecursiveIteratorIterator
CATCH_GET_CHILD, CHILD_FIRST, LEAVES_ONLY, SELF_FIRST |
Резюме свойств
© 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.1/class-Cake.Collection.Iterator.TreeIterator.html