Sulu\Bundle\AdminBundle\Navigation\NavigationItem::find PHP Method

find() public method

Searches for the equivalent of a specific NavigationItem.
public find ( NavigationItem $navigationItem ) : NavigationItem
$navigationItem NavigationItem The NavigationItem to look for
return NavigationItem The item if it is found, otherwise false
    public function find($navigationItem)
    {
        $stack = [$this];
        while (!empty($stack)) {
            /** @var NavigationItem $item */
            $item = array_pop($stack);
            if ($item->equalsChildless($navigationItem)) {
                return $item;
            }
            foreach ($item->getChildren() as $child) {
                /* @var NavigationItem $child */
                $stack[] = $child;
            }
        }
        return;
    }

Usage Example

Example #1
0
 public function testSearch()
 {
     $this->assertEquals('Globals', $this->item2->find(new NavigationItem('Globals'))->getName());
     $this->assertNull($this->item1->find(new NavigationItem('Nothing')));
 }