Jet\Data_Tree_Node

Reprezentuje uzel stromu. Princip je popsán v předchozí kapitole

Přehled metod

Metoda Význam
public __construct(
Data_Tree $tree,
mixed $data
)
Pokud to není nezbytně nutné, tak nevytvářejte instanci uzlu přímo, ale vždy přes příslušné metody třídy Jet\Data_Tree.
public getTree(
) : Data_Tree
Vrátí instnaci stromu do kterého uzel náleží.
public getIsRoot(
) : bool
Indikuje zda se jedná o kořenový uzel.
public getIsOrphan(
) : bool
Indikuje zda se jedná o potomka.
public getId(
) : string
Vrací identifikátor uzlu.
public setId(
string $id
)
Nastavuje identifikátor uzlu. Metoda by měla být použita pouze pro kořenový uzel.
public getLabel(
) : string
Vrátí label uzlu.
public setLabel(
string $label
) : void
Nastaví label uzlu. Lze aplikovat kdykoliv na jakýkoliv uzel.
public getParentId(
) : string
Vrací identifikátor rodičovského uzlu.
public getRealParentId(
) : string
Pokud jde o sirotka, pak vrací reálný identifikátor rodičovského uzlu tak jak byl ve vstupních datech a který se fakticky liší od momentálního (adoptivního) rodičovského uzlu.
public getParent(
) : Data_Tree_Node|null
Vrátí rodičovský uzel.
public getDepth(
) : int
Vrátí hloubku zanoření uzlu.
public getData(
) : mixed
Vrátí data uzlu. De facto jdeo data ze kterých byl uzel na začátku vytvořen. To znamená asociované pole, nebo objekt. Data mohou obsahovat další informace - nejen ty potřebné pro sestavení stromu.
public setData(
mixed $data
)
Nastaví data uzlu. Ovšem již nemá vliv na sestavený storm.
public getHasChildren(
) : bool
Indikuje zda má uzel potomky.
public getChildren(
) : Data_Tree_Node[]
Vrátí přímé potomky uzlu (ne potomky potomků - pouze ty z následující úrovně).
public getAllChildrenIds(
) : array
Vrátí identifikátory všech potomků uzlu. To znamená i potomků potomků - do všech úrovní.
public getChildExists(
string $id
) : bool
Indikuje zda má uzel přímého potomka (na další následující úrovni) s daným idnetifikátorem.
public getChild(
string $child_id
) : Data_Tree_Node
Vrátí přímého potomka s daným identifikátorem.
public getPathToRoot(
) : Data_Tree_Node[]
Vrátí pole seznamu všech rodičů od kořene k danému uzlu (včetně) seřazených chronologicky od uzlu ke kořeni.
public getPathFromRoot(
) : Data_Tree_Node[]
Vrátí pole seznamu všech rodičů od kořene k danému uzlu (včetně) seřazených chronologicky od kořene k uzlu.
public getPath(
) : Data_Tree_Node[]
Alias metody getPathFromRoot.
public toJSON(
) : string
Exportuje strom do JSON obdobně jako do dělá Data_Tree ovšem pouze od daného uzlu dále - tedy danou větev.
public jsonSerialize(
) : array
Exportuje strom do JSON, respektive slouží funkci json_encode, obdobně jako do dělá Data_Tree ovšem pouze od daného uzlu dále - tedy danou větev.
public toArray(
) : array
Exportuje strom do pole obdobně jako do dělá Data_Tree ovšem pouze od daného uzlu dále - tedy danou větev.
public setMaxDepth(
int|null $max_depth
) : void
Umožňuje omezit do jaké hloubky bude daná větev exportována, nebo procházena iterátorem.

Hodnota null znamená, že hloubka není omezena (což je výchozí hodnota).
public __sleep(
) : array
Připravuje strom na serializaci.
public toString(
) : string

public __toString(
) : string
Uzel je možné převést na řetězec. Fakticky je vrácen label uzlu.
public current(
) : Data_Tree_Node
Viz PHP Iterator

Stejně jako může být pomocí foreach procházen celý strom, tak je možné procházet uzel a jeho potomky - tedy část / větev stromu.
public key(
) : string
public next(
) : void
public valid(
) : bool
public rewind(
) : void
public count(
) : int
Viz PHP Countable
public getSelectOptionCssStyle(
) : string
Strom může být přímo použit pro vykreslování formulářových (nebo i jiných UI) prvků. Pro tento účel je možné jednotlivé uzly nastylovat. Například zajistit odsazení dle zanoření, barvy a tak dále.

Viz možnosti výběru formulářového pole
public setSelectOptionCssStyle(
string $css_style
) : void
public getSelectOptionCssClass(
) : string
public setSelectOptionCssClass(
string $css_class
) : void
Předchozí kapitola
Práce se stromovou strukturou - Jet\Data_Tree
Další kapitola
Jet\Data_Tree_Exception