src/FindRootInterface.php
<?php /** * This file is part of the mimmi20/navigation-helper-findroot package. * * Copyright (c) 2021-2025, Thomas Mueller <mimmi20@live.de> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ declare(strict_types = 1); namespace Mimmi20\NavigationHelper\FindRoot; use Laminas\Navigation\AbstractContainer;use Laminas\Navigation\Page\AbstractPage;use Mimmi20\Mezzio\Navigation\ContainerInterface;use Mimmi20\Mezzio\Navigation\Page\PageInterface; interface FindRootInterface{ /** * @param AbstractContainer<AbstractPage>|ContainerInterface<PageInterface>|null $root * * @throws void */ public function setRoot(AbstractContainer | ContainerInterface | null $root): void; /** * Returns the root container of the given page * * When rendering a container, the render method still store the given * container as the root container, and unset it when done rendering. This * makes sure finder methods will not traverse above the container given * to the render method. * * @return AbstractContainer<AbstractPage>|ContainerInterface<PageInterface> * * @throws void */ public function find(AbstractPage | PageInterface $page): AbstractContainer | ContainerInterface;}