>建築菜單和導航桿輕而易舉,帶有twitter bootstrap。 創建時尚的導航毫不費力。雖然對於許多項目來說足夠,但您可能需要更好地控制菜單項和鏈接。 例如,想像一下從數據庫中加載菜單項,或根據用戶權限限制訪問。 靜態解決方案在這裡不足;需要動態方法。
本教程演示了PHP動態菜單構建器。 這是一個由兩部分組成的系列。第一部分涵蓋了演示代碼和Menu
>類;第二部分將詳細介紹其他類和用法示例。
鍵特徵
Menu
類提供過濾,允許根據特定條件進行條件顯示項目。 項目目標
>目的是通過乾淨,專業,現代的面向對象的PHP代碼有效地創建菜單。 所需的功能包括:
// Create the menu $menu = new Menu; // Add items $menu->add('Home', ''); $menu->add('About', 'about'); $menu->add('Services', 'services'); $menu->add('Portfolio', 'portfolio'); $menu->add('Contact', 'contact');
>語義上添加子項目,沒有明確的父級ID:
//... $about = $menu->add('About', 'about'); $about->add('Who we are?', 'who-we-are'); $about->add('What we do?', 'what-we-do'); //...
>將內容附加到鏈接(例如,圖標):
//... $menu->add('About', ['url' => 'about', 'class' => 'about-li active', 'id' => 'about-li']); //...
>過濾項目:
//... $about = $menu->add('About', ['url' => 'about', 'class' => 'about-li active', 'id' => 'about-li']); $about->link->append('<b></b>') ->prepend(''); //...
>將菜單作為html(列表,divs等):
$menu = new Menu; $menu->add('Home', ''); $menu->add('About', 'about'); $menu->add('Services', 'services'); $menu->add('Portfolio', 'portfolio'); $menu->add('Contact', 'contact'); $menu->filter(function ($item) { if (/* statement */) { return true; } return false; });
菜單構建器結構
//... // Render as an unordered list echo $menu->asUl(); // Render as an ordered list echo $menu->asOl(); // Render as a div echo $menu->asDiv(); //...
菜單構建器由三個類組成:
:管理菜單項(創建,修改,渲染)。
>Menu
>
Item
>
Link
>菜單類(菜單.php)(Menu
>,Item
和Link
>類的剩餘代碼以及它們的方法將包括在這裡,類似於原始輸入,但可能會帶來較小的調整以確保清晰度和样式一致性。)由於代碼的長度,此處省略了它,但是結構和功能將遵循原始提示中的描述。 關鍵是將代碼分解為可管理的塊,並專注於每種方法的核心邏輯。 輔助功能(,getUrl
,extractAttr
)對於管理傳遞給parseAttr
>方法的選項至關重要。 渲染方法(add
>,asUl
,asOl
)在輸出菜單結構時提供了靈活性。
以上是Bootstrap的動態菜單構建器3:菜單經理的詳細內容。更多資訊請關注PHP中文網其他相關文章!