KnpMenu

Menu Library for PHP5

  • 所有者: KnpLabs/KnpMenu
  • 平台:
  • 許可證: MIT License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

KnpMenu

The KnpMenu library provides object oriented menus for PHP 7.
It is used by the KnpMenuBundle for Symfony
but can now be used stand-alone.

Build Status
Latest Stable Version
Latest Unstable Version
Gitter chat

Installation

KnpMenu uses Composer, please checkout the composer website for more information.

The simple following command will install knp-menu into your project. It also add a new
entry in your composer.json and update the composer.lock as well.

$ composer require knplabs/knp-menu

KnpMenu follows the PSR-4 convention names for its classes, which means you can easily integrate knp-menu classes loading in your own autoloader.

Getting Started

<?php

// Include dependencies installed with composer
require 'vendor/autoload.php';

use Knp\Menu\MenuFactory;
use Knp\Menu\Renderer\ListRenderer;

$factory = new MenuFactory();
$menu = $factory->createItem('My menu');
$menu->addChild('Home', ['uri' => '/']);
$menu->addChild('Comments', ['uri' => '#comments']);
$menu->addChild('Symfony', ['uri' => 'http://symfony.com/']);
$menu->addChild('Happy Awesome Developers');

$renderer = new ListRenderer(new \Knp\Menu\Matcher\Matcher());
echo $renderer->render($menu);

The above menu would render the following HTML:

<ul>
  <li class="first">
    <a href="/">Home</a>
  </li>
  <li class="current">
    <a href="#comments">Comments</a>
  </li>
  <li>
    <a href="http://symfony.com/">Symfony</a>
  </li>
  <li class="last">
    <span>Happy Awesome Developers</span>
  </li>
</ul>

This way you can finally avoid writing an ugly template to show the selected item,
the first and last items, submenus, ...

The bulk of the documentation can be found in the doc directory.

What now?

Follow the tutorial in doc/01-Basic-Menus.md and doc/02-Twig-Integration.md
to discover how KnpMenu will rock your world!

Find all available documentation at doc/.

Maintainers

This library is maintained by the following people (alphabetically sorted) :

  • @derrabus
  • @garak
  • @stof

Credits

This bundle was originally ported from ioMenuPlugin,
a menu plugin for symfony1. It has since been developed by KnpLabs and
the Symfony community.

主要指標

概覽
名稱與所有者KnpLabs/KnpMenu
主編程語言PHP
編程語言PHP (語言數: 2)
平台
許可證MIT License
所有者活动
創建於2011-08-08 15:39:40
推送於2025-02-28 08:30:18
最后一次提交2025-02-28 09:21:46
發布數32
最新版本名稱v3.7.0 (發布於 )
第一版名稱v1.0.0 (發布於 2011-12-03 17:14:19)
用户参与
星數1.4k
關注者數62
派生數195
提交數520
已啟用問題?
問題數163
打開的問題數14
拉請求數159
打開的拉請求數9
關閉的拉請求數73
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?