1 | <?php |
||
11 | class NavigationItem implements Item |
||
12 | { |
||
13 | /** @var string */ |
||
14 | private $uri; |
||
15 | /** @var string */ |
||
16 | private $label; |
||
17 | /** @var Item */ |
||
18 | private $parent; |
||
19 | /** @var NavigationItem[] */ |
||
20 | private $children = []; |
||
21 | |||
22 | public function __construct(string $uri, string $label, Item $parent = null, array $children = []) |
||
32 | |||
33 | /** |
||
34 | * @param Item $item |
||
35 | * @return NavigationItem |
||
36 | */ |
||
37 | public function addChild(Item $item): NavigationItem |
||
49 | |||
50 | /** |
||
51 | * @return NavigationItem[] |
||
52 | */ |
||
53 | public function getChildren(): array |
||
57 | |||
58 | /** |
||
59 | * @return string |
||
60 | */ |
||
61 | public function getUri(): string |
||
65 | |||
66 | /** |
||
67 | * @return string |
||
68 | */ |
||
69 | public function getLabel(): string |
||
73 | |||
74 | /** |
||
75 | * @param $parent |
||
76 | * @return NavigationItem |
||
77 | */ |
||
78 | public function setParent($parent): NavigationItem |
||
84 | |||
85 | /** |
||
86 | * @return Item |
||
87 | */ |
||
88 | public function getParent(): Item |
||
92 | } |
||
93 |