KnpMenu
v3.5.0
KnpMenu 库为 PHP 提供面向对象的菜单。它由 Symfony 的 KnpMenuBundle 使用,但现在可以单独使用。
KnpMenu 使用 Composer,请访问 Composer 网站了解更多信息。
以下简单的命令会将knp-menu
安装到您的项目中。它还在您的composer.json
中添加一个新条目并更新composer.lock
。
作曲家需要 knplabs/knp-menu
KnpMenu 的类遵循 PSR-4 约定名称,这意味着您可以轻松地将
knp-menu
类加载集成到您自己的自动加载器中。
<?php// 包含用composerrequire 'vendor/autoload.php'安装的依赖项;use KnpMenuMenuFactory;use KnpMenuRendererListRenderer;$factory = new MenuFactory();$menu = $factory->createItem('我的菜单');$menu- >addChild('主页', ['uri' => '/']);$menu->addChild('评论', ['uri' => '#comments']);$menu->addChild('Symfony', ['uri' => 'http://symfony.com/']);$menu->addChild('快乐很棒的开发人员');$renderer = new ListRenderer(new KnpMenuMatcherMatcher());echo $renderer->render($menu);
上面的菜单将呈现以下 HTML:
<ul> <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
@garak
@斯托夫
这个包最初是从 ioMenuPlugin 移植的,ioMenuPlugin 是 symfony1 的一个菜单插件。此后它由 KnpLabs 和 Symfony 社区开发。