/** * Create child * * @param stdClass $parent * @param array $children * * @return stClass */ public function createChild($parent, $children) { foreach ($children as $child) { if ($this->isGranted($child->slug)) { $node = $parent->addChild($child->slug, $child->params); foreach ($child->options as $type => $option) { switch ($type) { case 'children-attributes': $node->setChildrenAttributes($option); break; } } if (count($child->children)) { $this->createChild($node, $child->children); } } } return $parent; }