EasyAdmin 一键 CURD 命令实战:10 分钟生成完整的后台增删改查模块
【免费下载链接】easyadmin框架主要使用ThinkPHP6.0 + layui,拥有完善的权限的管理模块以及敏捷的开发方式,让你开发起来更加的舒服。项目地址: https://gitcode.com/gh_mirrors/easy/easyadmin
如果你正在寻找一款能大幅提升后台开发效率的 PHP 后台管理系统,那么基于ThinkPHP6.0 + layui的EasyAdmin一定值得一试。它最亮眼的功能,就是内置了一键 CURD 命令:只需一条php think curd指令,就能在 10 分钟内自动生成完整的后台增删改查模块——包括控制器、模型、视图页面和前端 JS 文件,彻底告别手写重复代码的烦恼。本文将以新手视角,带你完整走一遍 EasyAdmin 一键生成增删改查的实战流程。
为什么选择 EasyAdmin 一键 CURD 命令?
传统后台开发中,每新增一个业务表,都要重复编写:控制器里的增删改查方法、数据模型、列表页 HTML、表单页 HTML、前端 JS……这一套流程熟练工也要半小时起步,而且极易出错。
而 EasyAdmin 通过php think curd命令,把这一切自动化了。它一次能帮你生成:
- ✅ 控制器文件(含列表、添加、编辑、删除、导出、属性修改等完整方法)
- ✅ 数据模型文件(自动继承时间模型与软删除)
- ✅ 视图页面(列表页 + 添加/编辑表单页)
- ✅ 前端 JS 文件(自动配置表格渲染与表单提交)
命令的核心逻辑位于 app/common/command/Curd.php,而生成的控制器之所以"天生完整",秘密在于复用了 app/admin/traits/Curd.php 这个通用 Trait——index、add、edit、delete、export、modify六大方法全部内置,你的业务控制器只需寥寥几行就能跑起来。
环境准备:安装 EasyAdmin 并创建数据库表
在体验一键 CURD 之前,请先确保你的机器满足以下条件:
| 依赖 | 版本要求 | 说明 |
|---|---|---|
| PHP | >= 7.1.0 | 建议 7.4+ |
| MySQL | >= 5.7 | 数据库存储 |
| Composer | 最新版 | 管理项目依赖 |
安装 EasyAdmin 有两种方式,任选其一:
# 方式一:Composer 创建项目(推荐) composer create-project --prefer-dist zhongshaofa/easyadmin blog # 方式二:git 克隆仓库后安装依赖 git clone https://gitcode.com/gh_mirrors/easy/easyadmin composer install项目跑起来之后,在数据库中创建一张业务表(以"商品分类"为例):
CREATE TABLE `mall_cate` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(100) NOT NULL COMMENT '分类名称', `image` varchar(255) DEFAULT '' COMMENT '分类图片', `remark` varchar(255) DEFAULT '' COMMENT '备注信息', `sort` int(11) DEFAULT '0' COMMENT '排序', `status` tinyint(1) DEFAULT '1' COMMENT '状态 1启用 0禁用', `create_time` int(11) DEFAULT NULL COMMENT '创建时间', `update_time` int(11) DEFAULT NULL COMMENT '更新时间', `delete_time` int(11) DEFAULT NULL COMMENT '删除时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='商品分类表';💡 小贴士:表字段加上中文
COMMENT注释,生成出来的表单标签会自动使用注释内容,非常人性化。
最快配置方法:一条命令生成增删改查代码
表建好后,在项目根目录执行下面这条命令,见证奇迹的时刻到了:
php think curd -t mall_cate -c mall/Cate -m MallCate各参数含义如下:
| 参数 | 简写 | 作用 |
|---|---|---|
-t | 主表名 | 必填,对应数据库表mall_cate |
-c | 控制器文件名 | 生成app/admin/controller/mall/Cate.php |
-m | 主表模型文件名 | 生成app/admin/model/MallCate.php |
命令执行成功后,你会看到类似"自动生成CURD成功"的提示,同时项目里多出了这些文件:
- 控制器:app/admin/controller/mall/Cate.php
- 模型:app/admin/model/MallCate.php
- 视图页面:app/admin/view/mall/cate/index.html
- 前端 JS:public/static/admin/js/mall/cate.js
生成的控制器简洁得令人惊叹,核心就是复用 Trait 加指定模型:
class Cate extends AdminController { use Curd; public function __construct(App $app) { parent::__construct($app); $this->model = new MallCate(); } }而列表页 JS 里,表格的列、开关、图片缩略图、时间范围搜索等配置也全部自动生成好了:
cols: [[ {type: "checkbox"}, {field: 'id', width: 80, title: 'ID'}, {field: 'sort', width: 80, title: '排序', edit: 'text'}, {field: 'image', minWidth: 80, title: '分类图片', templet: ea.table.image}, {field: 'status', title: '状态', width: 85, templet: ea.table.switch}, {width: 250, title: '操作', templet: ea.table.tool} ]]字段后缀玩法:让表单自动生成高级组件
新手最容易忽略、但非常强大的功能是字段后缀。CURD 命令会自动识别表字段的后缀,把表单控件"翻译"成对应的组件。例如字段名以image结尾,生成的表单就是图片上传组件;以content结尾且配置了富文本后缀,就会自动挂载编辑器。
常用的字段类型映射如下:
| 字段后缀 | 自动生成的组件 |
|---|---|
image | 单图片上传 |
images | 多图片上传 |
file/files | 单/多文件上传 |
content | 富文本编辑器(内置 ckeditor) |
status | 开关切换(switch) |
sort | 数字排序框 |
命令中对应的配置参数也很直观:
php think curd -t mall_goods -c mall/Goods -m MallGoods \ --imageFieldSuffix logo \ --imagesFieldSuffix images \ --editorFields describe \ --switchFields status这样生成出来的商品表单页,会自动包含图片上传、多图上传、富文本描述等完整组件,就像 app/admin/view/mall/goods/add.html 里的效果一样。
高级玩法:一键生成关联查询模块
如果你的业务表有关联需求(比如商品属于某个分类),EasyAdmin 同样支持一键生成带关联查询的增删改查。在命令中加入关联表相关参数即可:
php think curd -t mall_goods -c mall/Goods -m MallGoods \ -r mall_cate \ --foreignKey cate_id \ --primaryKey id \ --relationBindSelect cate_id执行后,商品模型会自动生成关联方法(belongsTo 分类),列表页会直接展示"商品分类"这一列,添加表单的分类字段也会自动变成下拉选择框,数据从分类表中动态加载。参考生成的模型代码 app/admin/model/MallGoods.php,关联定义一目了然:
public function cate() { return $this->belongsTo('app\admin\model\MallCate', 'cate_id', 'id'); }生成后必做:刷新权限节点并登录后台
代码生成完毕,还差最后一步——刷新权限节点。EasyAdmin 使用注解方式管理权限,新控制器中的@NodeAnotation注解需要同步到数据库,执行:
php think node刷新完成后,用管理员账号登录后台,你就能在菜单里看到刚才生成的模块:列表展示、搜索、添加、编辑、删除、导出、行内开关……一套完整的后台增删改查模块就此诞生,整个过程真的只要 10 分钟!
常见问题与进阶技巧总结
🎯生成错了想撤销?执行php think curd -t mall_cate -d 1,会列出所有由命令生成的文件,输入yes确认后即可一键删除。
🎯想覆盖已有文件?加上-f 1强制覆盖参数,注意覆盖前会二次确认,防止误操作。
🎯不想显示某些字段?用--ignoreFields指定忽略字段,比如密码、内部标识等。
🎯字段验证规则怎么加?生成是"开箱即用"的骨架,复杂的业务验证可以在控制器中自行补充,灵活度完全不受影响。
总结一下,EasyAdmin 的一键 CURD 命令把后台开发中 80% 的重复劳动压缩成了"建表 + 一条命令"两个动作,尤其适合快速搭建后台管理系统、中后台脚手架或企业内部系统。无论你是 PHP 新手还是老手,这套ThinkPHP6 快速开发工作流都值得立刻上手体验。现在就打开项目,创建你的第一张业务表,感受 10 分钟交付完整后台增删改查模块的畅快吧!
【免费下载链接】easyadmin框架主要使用ThinkPHP6.0 + layui,拥有完善的权限的管理模块以及敏捷的开发方式,让你开发起来更加的舒服。项目地址: https://gitcode.com/gh_mirrors/easy/easyadmin
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考