当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

Scaffold for laravel

基于 Laravel 的后台脚手架
授权协议 MIT
开发语言 PHP
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 国产
投 递 者 谭泉
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

zgldh/Scaffold

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

预制功能:

  • 用户,角色,权限体系

  • 文件上传

  • 通知系统

  • 完全脱离 Cookie/Session 机制。全面拥抱 JWT。自动刷新 Token

  • 强化的前端数据表格,使用 datatables 协议。

  • 多语言

开始使用

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

  2. 配置好 .env 数据库相关

  3. php artisan scaffold:init

    会自动执行以下命令

    • migrate

    • storage:link

    • db:seed --class=ScaffoldInitialSeeder

    • scaffold:update-permissions

    • lang:dump

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

  5. npm install

  6. npm run start

生成器

名称 命令
模块初始化 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

将创建好如下目录和文件:

  • 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}

模型是指数据模型,对应着一个数据表。需要一个 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

将创建好如下目录和文件:

  • 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

将创建好如下目录和文件:

  • 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

并创建权限:

  • Post@putIdLike

权限生成

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

遍历 Modules 下所有的 controller 和 repository。 根据其公共函数生成一系列权限,并自动赋予超级管理员。

如果函数的注释内,包含有 @no-permission 标记,则跳过该函数。

Example

scaffold:update-permissions

将自动修改对应 model 的语言文件的 permissions 数组,并创建一系列权限。

会自动跳过重复权限。

语言文件导出

lang:dump

将 PHP 语言文件导出为前端语言文件。使得前端 vue-i18n 组件也可使用。

导出产物储存在 frontend/src/lang/languages.js

组件说明

TODO

预制功能说明

TODO

感谢

  • zgldh/Scaffold 基于 Laravel 5.5, Vue 2, ElementUI 2, vueAdmin-template 制作的后台脚手架。 预制功能: 用户,角色,权限体系 文件上传 通知系统 完全脱离 Cookie/Session 机制。全面拥抱 JWT。自动刷新 Token 强化的前端数据表格,使用 datatables 协议。 多语言 开始使用 composer creat

  • 我以前说过,现在再说一遍,使用框架的最大好处之一是许多常见的用例或问题已经得到解决——限制请求也不例外 。 开箱即用,Laravel cms附带一个ThrottleRequests中间件,该中间件易于配置,可提供 IP 地址在一段时间内可以发出的请求数。 例如,路由文件中的以下代码片段会将用户或 IP 地址可以发出的请求数限制为每分钟 60 次: Route::middleware('thrott

  • Blade模板开发 对于早期的 PHP 开发来说,直接输出页面是 PHP 最早称霸 WEB 领域的法宝。不像现在的前后端分离,最早我们开发 PHP 的时候很多情况下都是直接在 HTML 中嵌入 PHP 代码来生成动态网页的。在那个时候,也没有专门的前端这个职位,当时我们的前端一般也会叫做是 “切图仔” 。当他们把设计给的分层 PSD 切成静态页面之后,就会直接把这些静态 HTML 文件给到我们,然

  • 《PHP实例:laravel通过创建自定义artisan make命令来新建类文件详解》要点: 本文介绍了PHP实例:laravel通过创建自定义artisan make命令来新建类文件详解,希望对您有用。如果有疑问,可以联系我们。 PHP实例前言 PHP实例本文主要跟大家介绍的是关于laravel通过创建自定义artisan make命令来新建类文件的相关内容,分享出来供大家参考学习,下面话不多

  • PS D:\laravel> php artisan Laravel Framework 5.8.27 Usage:   command [options] [arguments] Options:   -h, --help            Display this help message   -q, --quiet           Do not output any message

  • PS.需要CD到项目的目录下执行 artisan命令 查看所有可以用的Artisan命令 php artisan php artisanlist   Laravel Framework 5.4.36 Usage:   command [options] [arguments] Options:   -h, --help            Display this help message  

  • 前言 我们在laravel开发时经常用到artisan make等命令来新建Controller、Model、Job、Event等类文件。 在Laravel5.2中artisan make命令支持创建如下文件: make:auth Scaffold basic login and registration views and routes make:console Create a new Art

  • Laravel57 artisan详解 进入根目录 php artisan list Laravel Framework 5.7.15 Usage: command [options] [arguments] Options: -h, --help Display this help message -q, --quiet 抑制输出信

  • Laravel项目目录 默认将 Eloquent 的模型直接放置到 app 目录下,开发者可以自行选择放置的位置。 对于国内开发者,尤其是 PHP,models 目录(app/Models)用于存放与数据库交互的模型类,而业务逻辑应该放到 services 这种目录之下。 1.App目录 app 目录包含了应用的核心代码,你为应用编写的代码绝大多数也会放到这里; 你基于 Composer 做了 P

  • 下面这篇文章主要给大家介绍了关于laravel如何通过创建自定义artisan make命令来新建类文件的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。 Laravel通过Artisan提供了强大的控制台命令来处理非浏览器业务逻辑。 前言 本文主要跟大家介绍的是关于laravel通过创建自定义artisan make命令来新建类文件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看

 相关资料
  • Celery 是一个 Python 的任务队列,包含线程/进程池。曾经有一个 Flask 的集成, 但在 Celery 3 重构了内部细节后变得不必要了。本指导补充了如何妥善在 Flask 中使用 Celery 的空白,但假设你已经读过了 Celery 官方文档中的教程 使用 Celery 的首要步骤 安装 Celery Celery 提交到了 Python Package Index (PyPI

  • 本文向大家介绍详解基于Bootstrap扁平化的后台框架Ace,包括了详解基于Bootstrap扁平化的后台框架Ace的使用技巧和注意事项,需要的朋友参考一下 最近一段时间在做一个管理系统,在网上找了很久的前端展示框架,终于找到一款基于Bootstrap的后台管理系统模版:Ace。Bootstrap是Twitter 于2010年开发出来的前端框架,用过的同学应该知道,这款前端框架不仅界面很美观,而

  • 手拉手业务基础平台前身是hihsoft研发团队从多个大型项目实施过程中,精练提取出来的一个开源的信息化管理系统基础框架。我们本着取之于开源,服务于开源的宗旨,以码会友,着力打造一个轻量级、性能良好、快速开发的大众化的业务基础平台 本框架以Spring Framework为核心、Spring MVC作为模型视图控制器、JDBC + Hibernate作为数据库持久化,前端引入基于JQuery开源UI

  • 我不能把小部件放在脚手架上,因为它是一个平台小部件(地图视图),我必须确保它在整个应用程序中是同一个实例,否则有趣的事情会发生...此外,页面转换应该发生在小部件的前面。

  • 我目前正在编写一个应用程序,它依赖于位置跟踪,并将有关位置的数据发送到服务器。然而,问题是它必须24/7运行,目前我正在经历每2-3天发生一次的随机崩溃。为了让应用程序在后台持续运行,我在beginBackgroundTaskWithExpirationHandler方法的右边放置了一个NSTimer,它位于ApplicationIdentinterBackground方法的后面。计时器每分钟执行

  • 我希望在Android用户的应用程序中隐藏所有后退按钮,这样他们就必须使用设备的后退按钮。但是对于iOS用户,我希望的后退按钮能够出现,因为这是导航的标准方式。 我知道,但它在iOS和Android设备上都隐藏了后退按钮。

  • 我的背景粘性服务是杀死奥利奥和更高的设备,任何解决方案,以获得位置的背景服务时,活动是在后台

  • 我们使用的是katalon studio版本7.8。