Pustaka KnpMenu menyediakan menu berorientasi objek untuk PHP. Ini digunakan oleh KnpMenuBundle untuk Symfony tetapi sekarang dapat digunakan secara mandiri.
KnpMenu menggunakan Komposer, silakan periksa situs web komposer untuk informasi lebih lanjut.
Perintah sederhana berikut ini akan menginstal knp-menu
ke dalam proyek Anda. Itu juga menambahkan entri baru di composer.json
Anda dan memperbarui composer.lock
juga.
komposer memerlukan knplabs/knp-menu
KnpMenu mengikuti nama konvensi PSR-4 untuk kelasnya, yang berarti Anda dapat dengan mudah mengintegrasikan pemuatan kelas
knp-menu
di autoloader Anda sendiri.
<?php// Sertakan dependensi yang diinstal dengan composerrequire 'vendor/autoload.php';use KnpMenuMenuFactory;use KnpMenuRendererListRenderer;$factory = new MenuFactory();$menu = $factory->createItem('My menu');$menu- >addChild('Beranda', ['uri' => '/']);$menu->addChild('Komentar', ['uri' => '#comments']);$menu->addChild('Symfony', ['uri' => 'http://symfony.com/']);$menu->addChild('Senang Pengembang Luar Biasa');$renderer = new ListRenderer(new KnpMenuMatcherMatcher());echo $renderer->render($menu);
Menu di atas akan menampilkan HTML berikut:
<ul> <li class="first"><a href="/">Beranda</a> </li> <li class="current"><a href="#comments">Komentar</a> </li> <li><a href="http://symfony.com/">Symfony</a> </li> <li class="last"><span>Selamat kepada Pengembang yang Luar Biasa</span> </li></ul>
Dengan cara ini Anda akhirnya dapat menghindari penulisan template jelek untuk menampilkan item yang dipilih, item pertama dan terakhir, submenu, ...
Sebagian besar dokumentasi dapat ditemukan di direktori
doc
.
Ikuti tutorial di doc/01-Basic-Menus.md
dan doc/02-Twig-Integration.md
untuk mengetahui bagaimana KnpMenu akan mengguncang dunia Anda!
Temukan semua dokumentasi yang tersedia di doc/
.
Perpustakaan ini dikelola oleh orang-orang berikut (diurutkan berdasarkan abjad):
@derrabus
@garak
@stof
Bundel ini awalnya porting dari ioMenuPlugin, sebuah plugin menu untuk symfony1. Sejak itu dikembangkan oleh KnpLabs dan komunitas Symfony.