cari
Rumahpembangunan bahagian belakangtutorial phpPembina Menu Dinamik untuk Bootstrap 3: Pengurus Menu

Dynamic Menu Builder for Bootstrap 3: Menu Manager

Menu bangunan dan bar navigasi adalah angin dengan Twitter Bootstrap. Mewujudkan navigasi bergaya adalah mudah. Walaupun mencukupi untuk banyak projek, anda mungkin memerlukan kawalan yang lebih baik ke atas item menu dan pautan. Sebagai contoh, bayangkan item menu memuatkan dari pangkalan data, atau menyekat akses berdasarkan keizinan pengguna. Penyelesaian statik jatuh di sini; Pendekatan dinamik diperlukan.

Tutorial ini menunjukkan pembina menu dinamik PHP. Ia adalah siri dua bahagian. Bahagian Satu meliputi kod demo dan kelas

; Bahagian dua akan memperincikan kelas dan contoh penggunaan lain. Menu

Ciri -ciri utama

  • Generasi menu dinamik: Buat menu secara dinamik dalam PHP, memuatkan item dari pangkalan data atau memohon cek kebenaran pengguna, melampaui batasan navigasi bootstrap statik. ! Tingkatkan pautan dengan atribut HTML, ikon, atau kandungan lain.
  • Penapisan: Kelas
  • menawarkan penapisan, membolehkan paparan bersyarat item berdasarkan kriteria tertentu.
  • rendering html fleksibel: Menu menjadikan menu sebagai senarai yang tidak teratur, senarai yang diperintahkan, atau div, mengintegrasikan dengan lancar ke dalam pelbagai susun atur laman web.
  • Pengurusan Menu Komprehensif: Kelas berasingan Menguruskan struktur menu, item, dan pautan, masing -masing dengan kaedah untuk menambah, mengubahsuai, dan memberikan kandungan.
  • Matlamat Projek
Matlamatnya adalah untuk mewujudkan menu dengan cekap dengan kod PHP berorientasikan objek yang bersih, profesional, moden. Fungsi yang dikehendaki termasuk:

Menambah sub-item secara semantik, tanpa ID ibu bapa yang jelas:

Menambah atribut HTML:
// 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');

Menambah atau membekalkan kandungan ke pautan (mis., Ikon):
//...
$about = $menu->add('About', 'about');
    $about->add('Who we are?', 'who-we-are');
    $about->add('What we do?', 'what-we-do');
//...

Penapisan item:
//...
$menu->add('About', ['url' => 'about', 'class' => 'about-li active', 'id' => 'about-li']);
//...

Memberi menu sebagai html (senarai, divs, dan lain -lain):

//...
$about = $menu->add('About', ['url' => 'about', 'class' => 'about-li active', 'id' => 'about-li']);
$about->link->append('<b></b>')
            ->prepend('');
//...

Struktur Builder Menu
$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;
});

Penu Builder terdiri daripada tiga kelas:
//...
// Render as an unordered list
echo $menu->asUl();

// Render as an ordered list
echo $menu->asOl();

// Render as a div
echo $menu->asDiv();
//...

: Menguruskan item menu (penciptaan, pengubahsuaian, rendering).

: Mewakili item menu sebagai objek (tajuk, pautan, atribut, data).
  • Menu: mewakili pautan sebagai objek.
  • Item kaedah untuk setiap kelas akan terperinci dalam bahagian berikut.
  • kelas menu (menu.php) Link
atribut

akan memegang objek

.

mengandungi kekunci yang digunakan secara dalaman, membezakannya dari atribut HTML.

(Kod yang tinggal untuk kelas Menu, Item, dan Link, bersama -sama dengan kaedah mereka, akan disertakan di sini, sama dengan input asal tetapi mungkin dengan penyesuaian kecil untuk kejelasan dan gaya Konsistensi.) Oleh kerana panjang kod, ia ditinggalkan di sini tetapi struktur dan fungsi akan mengikuti keterangan dalam prompt asal. Kuncinya adalah untuk memecahkan kod ke dalam ketulan yang boleh diurus dan memberi tumpuan kepada logik teras setiap kaedah. Fungsi penolong (, getUrl, extractAttr) adalah penting untuk menguruskan pilihan yang diluluskan kepada kaedah parseAttr. Kaedah rendering (add, asUl, asOl) memberikan fleksibiliti dalam mengeluarkan struktur menu. asDiv

Atas ialah kandungan terperinci Pembina Menu Dinamik untuk Bootstrap 3: Pengurus Menu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Suntikan Ketergantungan di PHP: Menghindari Perangkap BiasaSuntikan Ketergantungan di PHP: Menghindari Perangkap BiasaMay 16, 2025 am 12:17 AM

DependencyInjection (DI) inphpenhancescodeflexabilityandtestabilitybydecouplingDependencyCreationFromusage.toImplementDieffectively: 1) UseIcontainersjudiciousytoavoavoidover-engineering.2) mengelakkan constructoLoadbylimitingdendenchreeorfour.3)

Cara mempercepat laman web PHP anda: Penalaan PrestasiCara mempercepat laman web PHP anda: Penalaan PrestasiMay 16, 2025 am 12:12 AM

Toimproveyourphpwebsite'sperformance, usetheseStrategies: 1) pelaksanaanPodeCachingWithopcachetospeedupscriptinterpretation.2) OptimisedataBasequeriesqueriesSelectingOnlyNessaryFields.3)

Menghantar e -mel massa dengan PHP: Adakah mungkin?Menghantar e -mel massa dengan PHP: Adakah mungkin?May 16, 2025 am 12:10 AM

Ya, itispossibletosendmassemailswithphp.1) uselibrarieshpmailerorswiftmailoreforefficientemailsending.2)

Apakah tujuan suntikan ketergantungan dalam PHP?Apakah tujuan suntikan ketergantungan dalam PHP?May 16, 2025 am 12:10 AM

DependencyInjection (DI) inphpisadesignpatternTheevesinversionofControl (IOC) ByallowingdependencyestobeNectedIntoClasses, Enhancingmodularity, Testability, danFlexibility.DideDecouplassClassSesesesesSesesSesesSesesSesesSesesSesesspeciflementations, MakeCodemorAglementations, MakeCodemorAglementations, MakeCodemorAglementations, MakeCodemorAglementations, MakeCodemorAglementations, MakeCodemorAglementations, MakeCodemorAglementations, MakeCodemorAglementations, MakeCodemorAglemors, Maklumat

Bagaimana cara menghantar e -mel menggunakan php?Bagaimana cara menghantar e -mel menggunakan php?May 16, 2025 am 12:03 AM

Cara terbaik untuk menghantar e -mel menggunakan PHP termasuk: 1. Gunakan fungsi mel () php untuk penghantaran asas; 2. Gunakan perpustakaan phpmailer untuk menghantar mel lebih kompleks HTML; 3. Gunakan perkhidmatan mel transaksional seperti SendGrid untuk meningkatkan keupayaan kebolehpercayaan dan analisis. Dengan kaedah ini, anda boleh memastikan bahawa e -mel bukan sahaja mencapai peti masuk, tetapi juga menarik penerima.

Bagaimana cara mengira jumlah elemen dalam pelbagai PHP multidimensional?Bagaimana cara mengira jumlah elemen dalam pelbagai PHP multidimensional?May 15, 2025 pm 09:00 PM

Mengira jumlah elemen dalam array multidimensi PHP boleh dilakukan dengan menggunakan kaedah rekursif atau berulang. 1. Kaedah rekursif dikira dengan melintasi array dan rekursif memproses susunan bersarang. 2. Kaedah berulang menggunakan timbunan untuk mensimulasikan rekursi untuk mengelakkan masalah kedalaman. 3. Fungsi Array_Walk_Recursive juga boleh dilaksanakan, tetapi ia memerlukan pengiraan manual.

Apakah ciri-ciri gelung sementara di PHP?Apakah ciri-ciri gelung sementara di PHP?May 15, 2025 pm 08:57 PM

Dalam PHP, ciri-ciri gelung do-sementara adalah untuk memastikan bahawa badan gelung dilaksanakan sekurang-kurangnya sekali, dan kemudian memutuskan sama ada untuk meneruskan gelung berdasarkan syarat-syarat. 1) Ia melaksanakan badan gelung sebelum pemeriksaan bersyarat, sesuai untuk senario di mana operasi perlu dilakukan sekurang -kurangnya sekali, seperti pengesahan input pengguna dan sistem menu. 2) Walau bagaimanapun, sintaks gelung do-sementara boleh menyebabkan kekeliruan di kalangan pemula dan boleh menambah overhead prestasi yang tidak perlu.

Bagaimana Hash Strings dalam PHP?Bagaimana Hash Strings dalam PHP?May 15, 2025 pm 08:54 PM

String hashing yang cekap dalam PHP boleh menggunakan kaedah berikut: 1. Gunakan fungsi MD5 untuk hashing cepat, tetapi tidak sesuai untuk penyimpanan kata laluan. 2. Gunakan fungsi SHA256 untuk meningkatkan keselamatan. 3. Gunakan fungsi password_hash untuk memproses kata laluan untuk menyediakan keselamatan dan kemudahan tertinggi.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
<🎜> obscur: Ekspedisi 33 - Cara mendapatkan pemangkin Chroma yang sempurna
2 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual