ไลบรารี KnpMenu มีเมนูเชิงวัตถุสำหรับ PHP มันถูกใช้โดย KnpMenuBundle สำหรับ Symfony แต่ตอนนี้สามารถใช้แบบสแตนด์อโลนได้
KnpMenu ใช้ 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('My menu');$menu- >addChild('Home', ['uri' => '/']);$menu->addChild('ความคิดเห็น', ['uri' => '#ความคิดเห็น']);$menu->addChild('Symfony', ['uri' => 'http:// symfony.com/']);$menu->addChild('Happy Awesome Developers');$renderer = new ListRenderer(new KnpMenuMatcherMatcher());echo $renderer->render($เมนู);
เมนูด้านบนจะแสดงผล HTML ต่อไปนี้:
<ul> <li class="first"><a href="/">บ้าน</a> </li> <li class="current"><a href="#comments">ความคิดเห็น</a> </li> <li><a href="http://symfony.com/">ซิมโฟนี</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