Menu/MenuBuilder.php
<?php
namespace Ctrl\RadBundle\Menu;
use Knp\Menu\FactoryInterface;
use Symfony\Component\DependencyInjection\ContainerAware;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\HttpFoundation\RequestStack;
class MenuBuilder
{
private $factory;
/**
* @param FactoryInterface $factory
*/
public function __construct(FactoryInterface $factory)
{
$this->factory = $factory;
}
public function createSidebarMenu(RequestStack $requestStack, EventDispatcherInterface $eventDispatcher)
{
$menu = $this->factory->createItem('root');
$eventDispatcher->dispatch(
ConfigureMenuEvent::CONFIGURE,
new ConfigureMenuEvent($this->factory, $menu)
);
return $menu;
}
}