告別繁瑣的菜單管理:Laravel 數據庫菜單管理利器 balajidharma/laravel-menu

在之前的項目中,我們一直使用代碼硬編碼的方式來管理網站菜單。隨著功能的不斷增加,菜單項也越來越多,修改和維護起來變得非常困難。每次新增或修改菜單項都需要修改代碼,然后重新部署,這不僅浪費時間,還容易出錯。更糟糕的是,如果需要根據不同的用戶角色顯示不同的菜單,代碼將會變得更加復雜和難以維護。

為了解決這個問題,我開始尋找一種更優雅、更靈活的菜單管理方案。在一番搜索之后,我發現了 balajidharma/laravel-menu 這個 laravel 包。它允許我們將菜單數據存儲在數據庫中,通過簡單的代碼即可動態生成菜單,完美解決了我的痛點。

安裝這個包非常簡單,只需要使用 composer

composer require balajidharma/laravel-menu

然后,執行以下命令發布遷移文件和配置文件:

php artisan vendor:publish --provider="BalajiDharmaLaravelMenuMenuServiceProvider"

最后,運行遷移:

php artisan migrate

接下來,就可以開始創建菜單和菜單項了。 balajidharma/laravel-menu 提供了簡潔的 API 來操作菜單。例如,創建名為 “Main Menu” 的菜單:

use BalajiDharmaLaravelMenuModelsMenu;Menu::create([    'name' => 'Main Menu',    'machine_name' => 'main_menu',    'description' => 'Site main menu',]);

創建菜單項同樣簡單,你可以一次創建多個菜單項:

$menu = Menu::create([    'name' => 'Admin',    'machine_name' => 'admin',    'description' => 'Admin Menu',]);$menu_items = [    // ... (多個菜單項的數組) ...];$menu->menuItems()->createMany($menu_items);

這個庫還支持菜單樹結構,你可以輕松獲取菜單樹,方便在視圖中進行渲染。 它還提供了 學習地址

以上就是告別繁瑣的菜單管理:Laravel 數據庫菜單管理利器 balajidharma/

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享