La biblioteca KnpMenu proporciona menús orientados a objetos para PHP. Lo utiliza KnpMenuBundle para Symfony, pero ahora se puede utilizar de forma independiente.
KnpMenu utiliza Composer; consulte el sitio web de Composer para obtener más información.
El siguiente comando simple instalará knp-menu
en su proyecto. También agrega una nueva entrada en su composer.json
y también actualiza el composer.lock
.
el compositor requiere knplabs/knp-menu
KnpMenu sigue los nombres de la convención PSR-4 para sus clases, lo que significa que puede integrar fácilmente la carga de clases
knp-menu
en su propio cargador automático.
<?php// Incluir dependencias instaladas con compositorrequire 'vendor/autoload.php';use KnpMenuMenuFactory;use KnpMenuRendererListRenderer;$factory = new MenuFactory();$menu = $factory->createItem('Mi menú');$menu- >addChild('Inicio', ['uri' => '/']);$menu->addChild('Comentarios', ['uri' => '#comentarios']);$menu->addChild('Symfony', ['uri' => 'http:// symfony.com/']);$menu->addChild('Happy Awesome Developers');$renderer = new ListRenderer(new KnpMenuMatcherMatcher());echo $renderizador->render($menú);
El menú anterior mostraría el siguiente HTML:
<ul> <li class="first"><a href="/">Inicio</a> </li> <li class="current"><a href="#comments">Comentarios</a> </li> <li><a href="http://symfony.com/">Symfony</a> </li> <li class="last"><span>Felices desarrolladores increíbles</span> </li></ul>
De esta manera finalmente podrás evitar escribir una plantilla fea para mostrar el elemento seleccionado, el primer y último elemento, submenús, ...
La mayor parte de la documentación se puede encontrar en el directorio
doc
.
Siga el tutorial en doc/01-Basic-Menus.md
y doc/02-Twig-Integration.md
para descubrir cómo KnpMenu sacudirá su mundo.
Encuentre toda la documentación disponible en doc/
.
Esta biblioteca es mantenida por las siguientes personas (ordenadas alfabéticamente):
@derrabus
@garak
@stof
Este paquete fue originalmente portado desde ioMenuPlugin, un complemento de menú para Symfony1. Desde entonces, ha sido desarrollado por KnpLabs y la comunidad Symfony.