a-blog cms PHP API Reference

UnitCollection
in package
implements Countable

ユニットのコレクション(tree 構造と flat 構造の両方の違いを吸収するために利用)

Table of Contents

Interfaces

Countable

Properties

$units  : array<string|int, Model>

Methods

__clone()  : mixed
__construct()  : mixed
all()  : bool
any()  : bool
clone()  : UnitCollection
ユニットを複製し、新しいUnitCollectionを返す
count()  : int
filter()  : UnitCollection
find()  : Model|null
findKey()  : int|string|null
flat()  : array<string|int, Model>
flatArray()  : array<int, array<string, mixed>>
getPrimaryImageUnit()  : ImageUnit)|null
ユニットのメイン画像ユニットを取得
getPrimaryImageUnitOrFallback()  : ImageUnit)|null
メイン画像ユニットを取得し、無効な場合は最初の画像系ユニットを返す
insertAt()  : void
ツリー上の position にユニット(単体 or 配列)を挿入する - rootId が null の場合…ルート直下に index 挿入 - rootId が指定された場合…該当ノードの children に index 挿入
map()  : UnitCollection
normalize()  : UnitCollection
親子関係の整合性を保証したUnitCollectionを返す 親が存在しない子ユニットを削除する
reduce()  : mixed
remove()  : void
ツリーから指定 ID(またはID配列)を削除する
resort()  : void
ユニットの並び順を再整列
setPrimaryImageUnit()  : void
メイン画像ユニットを設定する
slice()  : UnitCollection
フラット配列に対してsliceを実行する ツリー構造は考慮されず、ユニットの並び順に基づいてsliceされる
sliceRoots()  : UnitCollection
ツリー構造を考慮したsliceを実行する ルートノード配列に対してsliceを適用し、選ばれたrootはサブツリーごと丸ごと含まれる
tree()  : UnitTree
treeArray()  : array<int, array<string, mixed>>
walk()  : void
walkTree()  : void
ツリー構造を辿ってコールバック処理を実行する
cloneRecursive()  : void
flattenTree()  : void
insertArray()  : array<int, T>
ツリー/配列の指定位置に items を挿入(不変)
recursiveInsertNodes()  : array<string|int, UnitTreeNode>
ツリーを再帰的に辿って、指定 rootId の children に newNodes を挿入
removeUnitRecursiveNodes()  : array<string|int, UnitTreeNode>
ツリーを再帰的に辿って、該当 ID(または配列に含まれるID)のノードを除去
resortRecursive()  : void
toFlat()  : array<string|int, Model>
toTree()  : UnitTree
treeToArray()  : array<int, array<string, mixed>>
walkTreeRecursive()  : void

Properties

Methods

all()

public all(callable(Model): bool $callback) : bool
Parameters
$callback : callable(Model): bool
Return values
bool

any()

public any(callable(Model): bool $callback) : bool
Parameters
$callback : callable(Model): bool
Return values
bool

findKey()

public findKey(callable(Model): bool $callback) : int|string|null
Parameters
$callback : callable(Model): bool
Return values
int|string|null

flatArray()

public flatArray() : array<int, array<string, mixed>>
Return values
array<int, array<string, mixed>>

getPrimaryImageUnit()

ユニットのメイン画像ユニットを取得

public getPrimaryImageUnit() : ImageUnit)|null
Return values
ImageUnit)|null

getPrimaryImageUnitOrFallback()

メイン画像ユニットを取得し、無効な場合は最初の画像系ユニットを返す

public getPrimaryImageUnitOrFallback() : ImageUnit)|null
Return values
ImageUnit)|null

insertAt()

ツリー上の position にユニット(単体 or 配列)を挿入する - rootId が null の場合…ルート直下に index 挿入 - rootId が指定された場合…該当ノードの children に index 挿入

public insertAt(Model|array<string|int, Model$newUnits[, array{rootId?: non-empty-string|null, index?: int<0, max>|null} $position = [] ]) : void
Parameters
$newUnits : Model|array<string|int, Model>
$position : array{rootId?: non-empty-string|null, index?: int<0, max>|null} = []

reduce()

public reduce(callable(T, Model): mixed $callback[, T $initial = null ]) : mixed
Parameters
$callback : callable(T, Model): mixed
$initial : T = null
Tags
template

remove()

ツリーから指定 ID(またはID配列)を削除する

public remove(non-empty-string|array<string|int, string> $id) : void
Parameters
$id : non-empty-string|array<string|int, string>

resort()

ユニットの並び順を再整列

public resort([int<1, max> $initial = 1 ]) : void
Parameters
$initial : int<1, max> = 1

並び順の開始番号

setPrimaryImageUnit()

メイン画像ユニットを設定する

public setPrimaryImageUnit(non-empty-string $primaryImageUnitId) : void
Parameters
$primaryImageUnitId : non-empty-string

メイン画像ユニットのID

slice()

フラット配列に対してsliceを実行する ツリー構造は考慮されず、ユニットの並び順に基づいてsliceされる

public slice(int $offset[, int|null $length = null ][, bool $preserveKeys = false ]) : UnitCollection
Parameters
$offset : int
$length : int|null = null
$preserveKeys : bool = false
Return values
UnitCollection

sliceRoots()

ツリー構造を考慮したsliceを実行する ルートノード配列に対してsliceを適用し、選ばれたrootはサブツリーごと丸ごと含まれる

public sliceRoots(int $offset[, int|null $length = null ][, bool $preserveKeys = false ]) : UnitCollection
Parameters
$offset : int
$length : int|null = null
$preserveKeys : bool = false
Return values
UnitCollection

treeArray()

public treeArray() : array<int, array<string, mixed>>
Return values
array<int, array<string, mixed>>

walk()

public walk(callable(Model): mixed $callback[, mixed $arg = null ]) : void
Parameters
$callback : callable(Model): mixed
$arg : mixed = null

walkTree()

ツリー構造を辿ってコールバック処理を実行する

public walkTree(callable(UnitTreeNode, int): void $callback) : void
Parameters
$callback : callable(UnitTreeNode, int): void

cloneRecursive()

private cloneRecursive(UnitTreeNode $node, non-empty-string|null $newParentId, array<string|int, Model&$newUnits) : void
Parameters
$node : UnitTreeNode
$newParentId : non-empty-string|null
$newUnits : array<string|int, Model>

insertArray()

ツリー/配列の指定位置に items を挿入(不変)

private insertArray(array<int, T$arr, array<int, T$items[, int<0, max>|null $index = null ]) : array<int, T>
Parameters
$arr : array<int, T>

既存配列

$items : array<int, T>

挿入する配列

$index : int<0, max>|null = null

挿入位置(null は末尾)

Tags
template
Return values
array<int, T>

recursiveInsertNodes()

ツリーを再帰的に辿って、指定 rootId の children に newNodes を挿入

private recursiveInsertNodes(array<string|int, UnitTreeNode$nodes, string|null $rootId, array<string|int, UnitTreeNode$newNodes, int<0, max>|null $index) : array<string|int, UnitTreeNode>
Parameters
$nodes : array<string|int, UnitTreeNode>
$rootId : string|null

null の場合はマッチしない(ルート直下への挿入は呼び出し側で実施)

$newNodes : array<string|int, UnitTreeNode>
$index : int<0, max>|null
Return values
array<string|int, UnitTreeNode>

removeUnitRecursiveNodes()

ツリーを再帰的に辿って、該当 ID(または配列に含まれるID)のノードを除去

private removeUnitRecursiveNodes(array<string|int, UnitTreeNode$nodes, non-empty-string|array<string|int, string> $id) : array<string|int, UnitTreeNode>
Parameters
$nodes : array<string|int, UnitTreeNode>
$id : non-empty-string|array<string|int, string>
Return values
array<string|int, UnitTreeNode>

resortRecursive()

private resortRecursive(array<string|int, UnitTreeNode$nodes[, int<1, max> $initial = 1 ]) : void
Parameters
$nodes : array<string|int, UnitTreeNode>
$initial : int<1, max> = 1

並び順の開始番号

treeToArray()

private treeToArray(array<string|int, UnitTreeNode$nodes) : array<int, array<string, mixed>>
Parameters
$nodes : array<string|int, UnitTreeNode>
Return values
array<int, array<string, mixed>>

        
On this page

Search results