Table of Contents

MenuViewModel

Layer: Core · Source: lib/core/Theme/MenuViewModel.php:19 (lines 19–135)


final class MenuViewModel extends AbstractThemeViewModel

Menu view model.

Carries the already-escaped display fields for a single navigation menu item. Templates print getters directly; the recursive tree structure is preserved via the `children` list.

Docblock Metadata

Tag Value
@category Theme
@author M.Noermoehammad
@license MIT
@version 1.0

Inheritance

Relation Type Meaning
extends ''AbstractThemeViewModel'' parent class/interface

Constants (0)

None.

Properties (1)

Visibility Type Name Default Line
private (untyped) $children [] 22

Methods (10)

Visibility Method Summary Line
public static fromRow() Build a menu view model from a row. 31
public static fromPrepared() Build a menu view model from already-prepared, already-safe values. 59
public setChildren() Attach child menu items (recursive tree). 83
public id() 89
public label() 94
public url() 99
public parent() 104
public visibility() 109
public children() MenuViewModel[] 120
public hasChildren() bool Whether the item has child items 131

fromRow()

public static function fromRow(array $row, callable $escape)

lines 31–44 (14)

Build a menu view model from a row.

Parameter Type Default Description
$row array required none
$escape callable required none

Returns: (none declared) — static

fromPrepared()

public static function fromPrepared(array $prepared)

lines 59–72 (14)

Build a menu view model from already-prepared, already-safe values.

Mirrors PostViewModel::fromPrepared(): values are escaped exactly once at the normalization boundary (front_navigation() / prepare_menu()) and stored verbatim. Children are attached afterwards via setChildren().

Parameter Type Default Description
$prepared array required none

Returns: (none declared) — static

setChildren()

public function setChildren(array $children): void

lines 83–86 (4)

Attach child menu items (recursive tree).

Parameter Type Default Description
$children array required none

Returns: void — void

id()

public function id(): ?string

lines 89–92 (4)

Takes no parameters.

Returns: ?string

label()

public function label(): ?string

lines 94–97 (4)

Takes no parameters.

Returns: ?string

url()

public function url(): string

lines 99–102 (4)

Takes no parameters.

Returns: string

parent()

public function parent(): ?string

lines 104–107 (4)

Takes no parameters.

Returns: ?string

visibility()

public function visibility(): ?string

lines 109–112 (4)

Takes no parameters.

Returns: ?string

children()

public function children(): array

lines 120–123 (4)

Takes no parameters.

Returns: array — MenuViewModel[]

hasChildren()

public function hasChildren(): bool

lines 131–134 (4)

Takes no parameters.

Returns: bool — bool Whether the item has child items


This page is generated from source by 'tools/gendoc'. Edits will be overwritten.