La bibliothèque KnpMenu fournit des menus orientés objet pour PHP. Il est utilisé par KnpMenuBundle pour Symfony mais peut désormais être utilisé de manière autonome.
KnpMenu utilise Composer, veuillez consulter le site Web du compositeur pour plus d'informations.
La simple commande suivante installera knp-menu
dans votre projet. Il ajoute également une nouvelle entrée dans votre composer.json
et met également à jour le composer.lock
.
le compositeur nécessite knplabs/knp-menu
KnpMenu suit les noms de la convention PSR-4 pour ses classes, ce qui signifie que vous pouvez facilement intégrer le chargement des classes
knp-menu
dans votre propre chargeur automatique.
<?php// Inclure les dépendances installées avec composerrequire 'vendor/autoload.php';use KnpMenuMenuFactory;use KnpMenuRendererListRenderer;$factory = new MenuFactory();$menu = $factory->createItem('Mon menu');$menu- >addChild('Accueil', ['uri' => '/']);$menu->addChild('Comments', ['uri' => '#comments']);$menu->addChild('Symfony', ['uri' => 'http:// symfony.com/']);$menu->addChild('Happy Awesome Developers');$renderer = new ListRenderer(new KnpMenuMatcherMatcher());echo $renderer->render($menu);
Le menu ci-dessus afficherait le code HTML suivant :
<ul> <li class="first"><a href="/">Accueil</a> </li> <li class="current"><a href="#comments">Commentaires</a> </li> <li><a href="http://symfony.com/">Symfony</a> </li> <li class="last"><span>Joyeux développeurs géniaux</span> </li></ul>
De cette façon, vous pouvez enfin éviter d'écrire un modèle laid pour afficher l'élément sélectionné, le premier et le dernier élément, les sous-menus, ...
La majeure partie de la documentation se trouve dans le répertoire
doc
.
Suivez le tutoriel dans doc/01-Basic-Menus.md
et doc/02-Twig-Integration.md
pour découvrir comment KnpMenu va bouleverser votre monde !
Retrouvez toute la documentation disponible sur doc/
.
Cette bibliothèque est maintenue par les personnes suivantes (triées par ordre alphabétique) :
@derrabus
@garak
@stof
Ce bundle a été initialement porté depuis ioMenuPlugin, un plugin de menu pour symfony1. Il a depuis été développé par KnpLabs et la communauté Symfony.