public function testCanGetAMenuThatHandlesEverything() { Menu::handler('foo'); Menu::handler('bar'); $allHandlers = Menu::allHandlers(); $this->assertEquals(array('foo', 'bar'), array_keys($allHandlers->getMenuObjects())); }
public function breadcrumbs($choosePath = null) { if (is_null($choosePath)) { $choosePath = function ($itemLists) { return $itemLists[0]; }; } $menuObjects = array(); foreach (Menu::allHandlers()->getMenuObjects() as $itemList) { $breadcrumbs = $itemList->breadcrumbs(); if ($breadcrumbs->hasChildren()) { $menuObjects[] = $breadcrumbs; } } if (count($menuObjects) > 1) { return $choosePath($menuObjects); } return isset($menuObjects[0]) ? $menuObjects[0] : new MenuHandler(); }