/** * Find an item in the menu based on its URI * * @param MenuItem $menuItem * @param $uri * @return MenuItem|null */ private function findItemBasedOnUri(MenuItem $menuItem, $uri) { if ($uri === $menuItem->getUri()) { return $menuItem; } if (!$menuItem->hasChildren()) { return null; } foreach ($menuItem->getChildren() as $child) { $item = $this->findItemBasedOnUri($child, $uri); if ($item !== null) { return $item; } } return null; }