Dengan perkembangan Internet, laman web menjadi semakin kompleks, fungsinya semakin banyak, dan keperluan pengguna semakin pelbagai bagi memudahkan pengguna mencari fungsi yang mereka perlukan , menu navigasi telah menjadi elemen yang sangat diperlukan. Bagaimana untuk menggunakan menu navigasi dalam ThinkPHP6? Artikel ini akan memperkenalkan anda langkah demi langkah.
1. Buat jadual data menu navigasi
Dalam ThinkPHP6, kita boleh menggunakan pangkalan data untuk menyimpan maklumat menu navigasi Pertama, kita perlu mencipta jadual data menu navigasi. Struktur jadual khusus adalah seperti berikut:
CREATE TABLE `menu` ( `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL COMMENT '菜单名称', `url` varchar(255) NOT NULL DEFAULT '' COMMENT '菜单链接地址', `parent_id` bigint(20) UNSIGNED NOT NULL COMMENT '父级菜单ID', `order` int(11) NOT NULL DEFAULT '0' COMMENT '排序', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='导航菜单表';
2 Import data
Selepas mencipta jadual data menu navigasi, kami perlu mengimport data menu navigasi ke dalam pangkalan data. Secara amnya, kami boleh mengimport data dengan cara berikut:
3. Cipta model menu
Dalam ThinkPHP6, kita boleh menggunakan model untuk menyambung ke pangkalan data dan mendapatkan data dalam pangkalan data. Oleh itu, kita perlu mencipta model menu dan menentukan nama jadual, kunci utama, cap masa automatik dan atribut lain dalam model Kod khusus adalah seperti berikut:
<?php namespace appmodel; use thinkModel; class Menu extends Model { protected $table = 'menu'; protected $pk = 'id'; protected $autoWriteTimestamp = true; }
4 🎜>Kawalan menu Pemproses bertanggungjawab untuk memproses semua logik yang berkaitan dengan menu, termasuk cara mendapatkan data menu, cara membuat paparan menu, dsb. Dalam ThinkPHP6, kita boleh menggunakan alat baris arahan untuk menjana pengawal dengan cepat. Perintah khusus adalah seperti berikut:
php think make:controller Menu
Selepas arahan dilaksanakan, kita boleh mencari fail
yang dihasilkan dalam direktori. Kemudian kita boleh mentakrifkan kaedah dalam pengawal untuk mendapatkan menu navigasi Kod khusus adalah seperti berikut: appcontroller
<?php namespace appcontroller; use appmodelMenu; use thinkacadeView; class MenuController { public function index() { // 获取一级菜单 $menus = Menu::where('parent_id', 0)->order('order')->select(); // 获取当前选中的菜单ID $selectedId = input('get.id', ''); View::assign([ 'menus' => $menus, 'selectedId' => $selectedId, ]); return View::fetch('index'); } }
Menu.php
Dalam pengawal, kami menggunakan kaedah model untuk mendapatkan peringkat pertama. menu, dan kemudian Data menu dan ID menu yang dipilih pada masa ini diberikan kepada paparan, dan akhirnya paparan diberikan. Menu
where
5. Cipta paparan menu
Paparan menu digunakan untuk memaparkan menu navigasi Kami boleh memaparkan menu navigasi di bahagian kepala atau sebelah kiri halaman ditentukan mengikut keperluan sebenar. Dalam paparan, kita boleh menggunakan gelung
untuk melintasi data menu dan kemudian mengeluarkan kod HTML yang sepadan.<nav> <ul> <?php foreach ($menus as $menu): ?> <li class="<?php if ($selectedId == $menu['id']) echo 'active' ?>"> <a href="<?php echo $menu['url'] ?>"><?php echo $menu['title'] ?></a> </li> <?php endforeach; ?> </ul> </nav>
foreach
6. Buat laluan Dalam ThinkPHP6, kita perlu mencipta laluan untuk mengakses kaedah
pengawal menu Kod khusus adalah seperti berikut:use thinkacadeRoute; Route::get('menu/index', 'MenuController@index');
index
Definisi laluan Selepas itu, kita boleh mengakses halaman menu melalui . http://localhost/menu/index
Ringkasan
Di atas adalah proses lengkap menggunakan menu navigasi dalam ThinkPHP6, termasuk membuat jadual data menu navigasi, mengimport data, mencipta model menu, mencipta pengawal menu, mencipta paparan menu dan membuat penghalaan . Melalui contoh ini, saya percaya bahawa semua orang telah menguasai kemahiran cara menggunakan menu navigasi dalam ThinkPHP6, dan boleh menggunakannya dengan cepat dalam projek.
Atas ialah kandungan terperinci Cara menggunakan menu navigasi dalam ThinkPHP6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!