Библиотека KnpMenu предоставляет объектно-ориентированные меню для PHP. Он используется KnpMenuBundle для Symfony, но теперь его можно использовать автономно.
KnpMenu использует Composer. Для получения дополнительной информации посетите веб-сайт композитора.
Простая следующая команда установит knp-menu
в ваш проект. Он также добавляет новую запись в ваш composer.json
и обновляет composer.lock
.
композитору требуется knplabs/knp-menu
KnpMenu соответствует именам своих классов, принятым в соответствии с соглашением PSR-4, что означает, что вы можете легко интегрировать загрузку классов
knp-menu
в свой собственный автозагрузчик.
<?php// Включить зависимости, установленные с помощью композитора, требуют 'vendor/autoload.php';use KnpMenuMenuFactory;use KnpMenuRendererListRenderer;$factory = new MenuFactory();$menu = $factory->createItem('Мое меню');$menu- >addChild('Home', ['uri' => '/']);$menu->addChild('Comments', ['uri' => '#comments']);$menu->addChild('Symfony', ['uri' => 'http:// symfony.com/']);$menu->addChild('Счастливых разработчиков!');$renderer = new ListRenderer(new KnpMenuMatcherMatcher());echo $renderer->render($menu);
Приведенное выше меню отобразит следующий HTML:
<ул> <li class="first"><a href="/">Главная</a> </li> <li class="current"><a href="#comments">Комментарии</a> </li> <li><a href="http://symfony.com/">Symfony</a> </li> <li class="last"><span>Поздравляем разработчиков!</span> </li></ul>
Таким образом, вы, наконец, сможете избежать написания уродливого шаблона для отображения выбранного элемента, первого и последнего элементов, подменю...
Большую часть документации можно найти в каталоге
doc
.
Следуйте инструкциям в doc/01-Basic-Menus.md
и doc/02-Twig-Integration.md
чтобы узнать, как KnpMenu потрясет ваш мир!
Всю доступную документацию можно найти в doc/
.
Эту библиотеку поддерживают следующие люди (в алфавитном порядке):
@derrabus
@гарак
@stof
Этот пакет изначально был портирован из ioMenuPlugin, плагина меню для symfony1. С тех пор он был разработан KnpLabs и сообществом Symfony.