<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Scaffold for laravel基于 Laravel 的后臺腳手架

          聯(lián)合創(chuàng)作 · 2023-09-20 04:35

          zgldh/Scaffold

          基于 Laravel 5.5, Vue 2, ElementUI 2, vueAdmin-template 制作的后臺腳手架。

          預制功能:

          • 用戶,角色,權限體系

          • 文件上傳

          • 通知系統(tǒng)

          • 完全脫離 Cookie/Session 機制。全面擁抱 JWT。自動刷新 Token

          • 強化的前端數(shù)據(jù)表格,使用 datatables 協(xié)議。

          • 多語言

          開始使用

          1. composer create-project zgldh/scaffold your-project-dir

          2. 配置好 .env 數(shù)據(jù)庫相關

          3. php artisan scaffold:init

            會自動執(zhí)行以下命令

          • migrate

          • storage:link

          • db:seed --class=ScaffoldInitialSeeder

          • scaffold:update-permissions

          • lang:dump

        2. 配置好 frontend/config/dev.env.js 的 BASE_API

        3. npm install

        4. npm run start

        5. 生成器

          名稱 命令
          模塊初始化 scaffold:module {moduleName} {--force}
          模型初始化 scaffold:model {modelStarterClass} {--only=*} {--force}
          API 生成 scaffold:api {method} {route} {moduleName} {--controller=} {--action=}
          權限生成 scaffold:update-permissions {type=api : set guard name}
          語言文件導出 lang:dump

          模塊初始化

          scaffold:module {moduleName} {--force}

          模塊是指一個獨立的功能領域。使用本命令將初始化一個模塊。

          Example

          scaffold:module Post

          將創(chuàng)建好如下目錄和文件:

          • Modules/Post

          • Modules/Post/routes.php

          • Modules/Post/PostServiceProvider.php

          • frontend/src/store/modules/post.js

          并自動修改好如下文件:

          • config/api.php

          • routes/api.php

          • frontend/src/store/index.js

          模型初始化

          scaffold:model {modelStarterClass} {--only=*} {--force}

          模型是指數(shù)據(jù)模型,對應著一個數(shù)據(jù)表。需要一個 Starter Class 來描述該模型。

          使用本命令將初始化該模型的migration filecontrollermodelrequestrepositoryroutefactory, PHP 單元測試和前端腳手架文件。基本的 CRUD 都準備好了。

          如何編寫 Starter Class 請參考源碼: Modules\Post\PostStarter.php

          --only 取值: controller, request, repository, model, migration, api, resource, language, route, factory, phpunit 將只生成對應文件。

          Example

          scaffold:model Modules/Post/PostStarter.php

          將創(chuàng)建好如下目錄和文件:

          • Modules/Post

          • Modules/Post/Controllers/PostController.php

          • Modules/Post/Repositories/PostRepository.php

          • Modules/Post/Models/Post.php

          • Modules/Post/Requests/CreatePostRequest.php

          • Modules/Post/Requests/UpdatePostRequest.php

          • resources/lang/en/post.php

          • resources/lang/zh-CN/post.php

          • database/migrations/xxxx_xx_xx_xxxxxx_create_posts_table.php

          • database/factories/PostFactory.php

          • tests/Modules/Post

          • tests/Modules/Post/Post/PostIndexTest.php

          • tests/Modules/Post/Post/PostStoreTest.php

          • tests/Modules/Post/Post/PostShowTest.php

          • tests/Modules/Post/Post/PostUpdateTest.php

          • tests/Modules/Post/Post/PostDestroyTest.php

          • frontend/src/api/post.js

          • frontend/src/views/post

          • frontend/src/views/post/Post/List.vue

          • frontend/src/views/post/Post/Editor.vue

          并自動修改好如下文件:

          • Modules/Post/routes.php

          • frontend/src/router/dynamicRouterMap.js

          API 生成

          scaffold:api {method} {route} {moduleName} {--controller=} {--action=}

          方便的生成一個單獨的 API 和周邊的各種類、單元測試、前臺接口等。

          Example

          scaffold:api put /post/{id}/like Post

          將創(chuàng)建好如下目錄和文件:

          • Modules/Post/Requests/PutIdLikeRequest.php

          • Modules/Post/routes.php

          • tests/Modules/Post/Post/PutIdLikeTest.php

          并自動修改好如下文件:

          • Modules/Post/Controllers/PostController.php

          • Modules/Post/routes.php

          • frontend/src/api/post.js

          并創(chuàng)建權限:

          • Post@putIdLike

          權限生成

          scaffold:update-permissions {type=api : set guard name}

          遍歷 Modules 下所有的 controller 和 repository。 根據(jù)其公共函數(shù)生成一系列權限,并自動賦予超級管理員。

          如果函數(shù)的注釋內(nèi),包含有 @no-permission 標記,則跳過該函數(shù)。

          Example

          scaffold:update-permissions

          將自動修改對應 model 的語言文件的 permissions 數(shù)組,并創(chuàng)建一系列權限。

          會自動跳過重復權限。

          語言文件導出

          lang:dump

          將 PHP 語言文件導出為前端語言文件。使得前端 vue-i18n 組件也可使用。

          導出產(chǎn)物儲存在 frontend/src/lang/languages.js

          組件說明

          TODO

          預制功能說明

          TODO

          感謝

          瀏覽 23
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产草逼视频 | 水多多一区二区 | 国内精品久久久久久久久久变脸 | 99乱伦| 免费看毛片的网站 |