接单必备神器FastAdmin系列二,一键CRUD

FastAdmin 提供了一键 CRUD 功能,可通过命令行快速生成 CRUD 代码。CRUD 代表 Create(创建)、Read(读取)、Update(更新)和 Delete(删除),是一套通用的数据操作功能。一键 CRUD 可以快速生成后台控制器、模型、视图、JS、语言包、菜单、回收站等,极大地提高了开发效率。

项目结构

在使用一键 CRUD 功能之前,先熟悉一下项目的目录结构。了解项目结构有助于你快速定位和修改生成后的代码。

arduino 复制代码
FastAdmin项目目录
├── application             //应用目录
│   ├── admin               //后台管理应用模块
        ├── controller      //控制器
        ├── lang
        ├── model           //模型
        ├── validate        //验证器
        ├── view            //后台管理视图
│   ├── api                 //API应用模块
│   ├── common              //通用应用模块
│   ├── index               //前台应用模块
│   ├── common.php          //通用辅助函数
│   ├── config.php          //基础配置
│   ├── database.php        //数据库配置
├── public                  //框架入口目录
│   ├── assets
│   │   ├── js
│   │   │   ├── backend     //后台功能模块JS文件存放目录
│   │   │   └── frontend

上面的结构保留了关键部分,项目中需要调整的代码大部分集中在这一部分,如果需要详细了解可以到官方文档查看。doc.fastadmin.net/doc/constru...

  • application/admin 存放后台管理系统的核心代码,包括控制器、模型、视图、语言包、菜单等。一键 CRUD 功能主要生成与此目录相关的代码。
  • application/api API 用于开发 API 接口,可供 APP、小程序、H5 等外部应用调用。
  • application/database.php 数据库配置,在上线部署时一般需要修改。

代码生成

FastAdmin 提供了一系列命令,让你能够一键生成代码。例如,要生成 fa_blog 表的 CRUD:

sh 复制代码
php think crud -t blog

要生成 fa_blog 表的 CRUD 并一键生成菜单:

sh 复制代码
php think crud -t blog -u 1

在使用 phpStudy 集成环境时,如遇到报错找不到 php 命令。可以将 phpStudy 安装目录下的 Extensions → php → php7.4.3nts 目录添加到系统环境变量。

有些朋友可能觉得命令太难记,容易出错。这时,你可以使用在线命令插件。登录到系统后台,在插件管理中找到在线命令插件并安装。

安装完成后,使用一键生成 CRUD。先选择你自行创建的数据库表,如何创建后面会讲,然后点击立即执行。

第一次执行可能会提示只允许在开发环境下执行命令 ,这个时候你需要找到application/config.php 文件,并将应用调试模式app_debug设置为true

执行成功后,将会看到生成了一系列文件。

另外,还有一些选项可能会用到:

  1. 强制覆盖模式 之前已经生成过代码,之后对数据库字段进行调整,重新生成时需要使用强制覆盖模式。如果你对生成的文件做了改动,会被新生成的文件覆盖,因此在使用前请先保存修改过的代码。
  2. 自定义控制器名 一般情况下使用默认即可,但如果需要生成到层级目录中,可使用/分割;
  3. 删除模式 在线命令删除 CRUD 命令会失败,仍然需要使用本地命令模式。

生成菜单

选择上一步生成的控制器文件,执行命令。

执行成功后,我们就能看到左侧多了一个菜单选项。点击进入对应管理模块,可以看到页面包含了内容的增删改查等功能,以及可以看到编辑表单的不同控件类型。

页面生成的内容与数据库字段名称、类型、注释等有关。例如表格、表单标题依据注释,表单类型依据字段名称,拖拽排序控件依据是否有权重字段。

数据库表创建

在使用一键 CRUD 之前,都需要进行数据库表创建。在 phpStudy 中,你可以安装一个 SQL_Front 数据库管理工具。

安装完成后登录,就可以开始创建你的表了。下面是我刚使用的表字段。

具体分析一下:

  1. 表名以 fa_ 开头;
  2. SQL_Front 中 id 默认是以大写 I 开头的,统一改成小写;
  3. 标题title 和描述description是 varchar 类型,以普通输入框展示;
  4. 内容content 是个特殊结尾字段,在 FastAdmin 中以 content 结尾的字段,会以富文本编辑器显示,需安装富文本插件
  5. 状态status是特殊字段,是枚举类型,该字段会显示 TAB 选项卡;
  6. 创建时间createtime 和更新时间updatetime不需手动维护,不会出现在新增和编辑表单区域;
  7. 权重weigh表格排序相关,会显示拖拽排序按钮;
  8. 标题名称和 TAB 选项卡名称与注释相关。

通过以上介绍,相信你已经对如何使用一键 CRUD 功能有了清晰的认识。项目中会有更多不同字段,可参照官方文档。doc.fastadmin.net/doc/databas...

相关推荐
草字2 分钟前
uniapp input限制输入负数,以及保留小数点两位.
java·前端·uni-app
没有黑科技21 分钟前
基于web的音乐网站(Java+SpringBoot+Mysql)
java·前端·spring boot
前端初见30 分钟前
彻底搞懂前端环境变量使用和原理
前端
小王码农记42 分钟前
vue中路由缓存
前端·vue.js·缓存·typescript·anti-design-vue
大G哥1 小时前
我用豆包MarsCode IDE 做了一个 CSS 权重小组件
前端·css
乐闻x1 小时前
Vue实践篇:如何在 Vue 项目中检测元素是否展示
前端·javascript·vue.js
麻花20131 小时前
WPF里面的C1FlexGrid表格控件添加RadioButton单选
java·服务器·前端
理想不理想v1 小时前
【经典】webpack和vite的区别?
java·前端·javascript·vue.js·面试
羊子雄起2 小时前
CKEditor前端样式和编辑器的样式不一致的问题
前端·编辑器
聊无生2 小时前
JavaSrcipt 函数高级
开发语言·前端·javascript