This package is abandoned and no longer maintained. No replacement package was suggested.

Integration of knplabs/knp-menu into Silex

v1.0.1 2017-08-22 10:37 UTC

This package is auto-updated.

Last update: 2022-09-23 13:26:21 UTC


Unfortunately we decided to not maintain this project anymore (see why). If you want to mark another package as a replacement for this one please send an email to


Silex service provider for the KnpMenu library.

Build Status Latest Stable Version Latest Unstable Version Scrutinizer Code Quality


Installation is done using Composer:

$ composer require knplabs/knp-menu-silex


Register the MenuServiceProvider in your application:

use Knp\Menu\Silex\MenuServiceProvider;

$app->register(new MenuServiceProvider());


  • knp_menu.menus (optional): an array of alias => id pair for the menu provider.
  • knp_menu.renderers (optional): an array of alias => id pair for the renderer provider.
  • knp_menu.default_renderer (optional): the alias of the default renderer (default to 'list')
  • knp_menu.template (optional): The template used by default by the TwigRenderer.


  • knp_menu.factory: The menu factory (it is a router-aware one if the UrlGeneratorServiceProvider is registered)
  • knp_menu.renderer.list: The ListRenderer
  • knp_menu.renderer.twig: The TwigRenderer (only when the Twig integration is available)
  • knp_menu.menu_manipulator: The MenuManipulator
  • knp_menu.matcher: The KnpMenu Matcher
  • knp_menu.voter.route: The RouteVoter registered in the matcher. Unset it from the container to unregister it.

WARNING The Twig integration is available only when the MenuServiceProvider is registered after the TwigServiceProvider in your application.