tripteki/laravelphp-setting-menu

Trip Teknologi 的 Laravel.php 设置菜单

1.1.2 2023-11-26 02:22 UTC

This package is auto-updated.

Last update: 2024-09-26 04:11:06 UTC


README

此包为 Lumen 和 Laravel 提供了基于仓库模式的设置菜单实现,同时提供无侵入性的 REST API 管理后台起航包,以保持代码库的整洁。

入门指南

安装

composer require tripteki/laravelphp-setting-menu

如何使用它

  • Tripteki\SettingMenu\Providers\SettingMenuServiceProvider 添加到服务提供者配置列表。

  • Tripteki\SettingMenu\Providers\SettingMenuServiceProvider::ignoreMigrations() 添加到 register 提供者中,然后运行(可选)以将迁移文件发布到项目目录中:

php artisan vendor:publish --tag=tripteki-laravelphp-setting-menu-migrations
  • 迁移。
php artisan migrate
  • 运行(可选)以将测试文件发布到项目目录中:
php artisan vendor:publish --tag=tripteki-laravelphp-setting-menu-tests
  • 示例
use Tripteki\SettingMenu\Contracts\Repository\Admin\ISettingMenuDetailRepository;
use Tripteki\SettingMenu\Contracts\Repository\ISettingMenuRepository;

$menuRepository = app(ISettingMenuDetailRepository::class);

// $menuRepository->create("headernavbar", "home", [ "category" => null, "icon" => "md-home", "title" => "Home", "description" => "Home Page", ]); //
// $menuRepository->delete("headernavbar", "home"); //
// $menuRepository->update("headernavbar", "home", [ "icon" => "fa-home", ]); //
// $menuRepository->get("headernavbar", "home"); //
// $menuRepository->all("headernavbar"); //

$repository = app(ISettingMenuRepository::class);
// $repository->setUser(...); //
// $repository->getUser(); //

// $repository->move(null, "dashboard", "sidenavbar"); // Attach "dashboard" menu to "base" menu that is part of "sidenavbar"...
// $repository->move(null, "home", "headernavbar"); // Attach "home" menu to "base" menu that is part of "headernavbar"...
// $repository->move(null, "profile", "headernavbar"); // Attach "profile" menu to "base" menu that is part of "headernavbar"...
// $repository->move(null, "about", "headernavbar"); // Attach "about" menu to "base" menu that is part of "headernavbar"...
// $repository->move(null, "media", "sidenavbar"); // Attach "media" menu to "base" menu that is part of "sidenavbar"...
// $repository->move("media", null, "sidenavbar"); // Detach "media" menu from "base" menu that is part of "sidenavbar"...
// $repository->move("about", null, "headernavbar"); // Detach "about" menu from "base" menu that is part of "headernavbar"...
// $repository->move("profile", null, "headernavbar"); // Detach "profile" menu from "base" menu that is part of "headernavbar"...
// $repository->move("home", null, "headernavbar"); // Detach "home" menu from "base" menu that is part of "headernavbar"...
// $repository->move("dashboard", null, "sidenavbar"); // Attach "dashboard" menu to "base" menu that is part of "sidenavbar"...
// $repository->move("media", "dashboard", "sidenavbar"); // Move "media" menu from "base" menu to inside "dashboard" menu that is part of "sidenavbar"...
// $repository->move("profile", "home", "headernavbar"); // Move "profile" menu from "base" menu to inside "home" menu that is part of "headernavbar"...
// $repository->move("about", "home.profile", "headernavbar"); // Move "about" menu from "base" menu to inside "home"->"profile" menu that is part of "headernavbar"...
// $repository->move("home.profile.about", "home", "headernavbar"); // Move "about" menu from inside "profile"->"about" menu to inside "home" menu that is part of "headernavbar"...
// $repository->all("headernavbar"); //
// $repository->all("sidenavbar"); //
  • 将此添加到您的注释配置中,以在项目目录中生成 Swagger 文件(可选):
base_path("app/Http/Controllers/SettingMenu")
base_path("app/Http/Controllers/Admin/SettingMenu")

用法

php artisan adminer:install:setting:menu

作者