ホームページ >バックエンド開発 >PHPチュートリアル >ブートストラップ3のダイナミックメニュービルダー:メニューマネージャー
メニューとナビゲーションバーの構築は、Twitterブートストラップを備えた風です。 スタイリッシュなナビゲーションを作成するのは簡単です。多くのプロジェクトでは十分ですが、メニュー項目やリンクをより細かく制御する必要がある場合があります。 たとえば、データベースからメニュー項目を読み込むか、ユーザーの権限に基づいてアクセスを制限することを想像してください。 静的ソリューションはここに不足しています。動的なアプローチが必要です。
このチュートリアルは、PHPのダイナミックメニュービルダーを示しています。 2部構成のシリーズです。パート1では、デモコードとクラスについて説明します。パート2では、他のクラスと使用例を詳しく説明します。Menu
重要な機能
Menu
html属性の追加:
リンク(例:アイコン)にコンテンツを追加または準備する:
<code class="language-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');</code>
フィルタリングアイテム:
<code class="language-php">//... $about = $menu->add('About', 'about'); $about->add('Who we are?', 'who-we-are'); $about->add('What we do?', 'what-we-do'); //...</code>
メニューをHTMLとしてレンダリングする(リスト、DIVなど):
<code class="language-php">//... $menu->add('About', ['url' => 'about', 'class' => 'about-li active', 'id' => 'about-li']); //...</code>メニュービルダー構造
<code class="language-php">//... $about = $menu->add('About', ['url' => 'about', 'class' => 'about-li active', 'id' => 'about-li']); $about->link->append('<b></b>') ->prepend(''); //...</code>
メニュービルダーは、3つのクラスで構成されています
<code class="language-php">$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; });</code>:メニュー項目(作成、修正、レンダリング)を管理します。
<code class="language-php">//... // Render as an unordered list echo $menu->asUl(); // Render as an ordered list echo $menu->asOl(); // Render as a div echo $menu->asDiv(); //...</code>
:メニュー項目をオブジェクトとして表します(タイトル、リンク、属性、データ)。
:リンクをオブジェクトとして表します。
Menu
Item
属性は(Menu
、Item
、およびLink
クラスの残りのコードは、元の入力と同様ですが、明確さとスタイルのためのマイナーな調整でここに含まれます。一貫性。)コードの長さのため、ここでは省略されていますが、構造と機能は元のプロンプトの説明に従います。 重要なのは、コードを管理可能なチャンクに分解し、各メソッドのコアロジックに集中することです。 ヘルパー関数(getUrl
、extractAttr
、parseAttr
)は、add
メソッドに渡されたオプションを管理するために重要です。 レンダリングメソッド(asUl
、asOl
、asDiv
)は、メニュー構造の出力に柔軟性を提供します。
以上がブートストラップ3のダイナミックメニュービルダー:メニューマネージャーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。