资讯中心

EasyAdmin 二次开发实战:从零扩展一个完整的业务功能模块

📅 2026/8/16 15:04:50
EasyAdmin 二次开发实战:从零扩展一个完整的业务功能模块
EasyAdmin 二次开发实战从零扩展一个完整的业务功能模块【免费下载链接】easyadmin框架主要使用ThinkPHP6.0 layui拥有完善的权限的管理模块以及敏捷的开发方式让你开发起来更加的舒服。项目地址: https://gitcode.com/gh_mirrors/easy/easyadminEasyAdmin 是一款基于 ThinkPHP6.0 layui 的轻量级后台管理系统内置完善的权限管理、菜单管理、操作日志与一键 CURD 生成器。本文将以「商品分类管理」为例带你完成一次完整的 EasyAdmin 二次开发实战从建表、生成代码到配置权限与菜单一步步扩展出一个可直接上线的业务功能模块非常适合后台开发新手快速上手。为什么选择 EasyAdmin 进行后台二次开发在做 EasyAdmin 二次开发之前先了解它的核心优势能帮你少走很多弯路极速 CRUD一条命令自动生成控制器、模型、视图和 JS 文件告别重复造轮子注解式权限通过NodeAnotation注解自动管理权限节点权限系统零手工维护组件化前端基于 layui 深度封装表格、表单、上传、富文本等组件开箱即用完善的扩展机制模块化目录结构清晰支持在 app/admin/controller/ 下随意扩展业务目录EasyAdmin 二次开发环境准备与项目安装二次开发的第一步是拿到项目源码。克隆仓库后安装依赖git clone https://gitcode.com/gh_mirrors/easy/easyadmin cd easyadmin composer install安装完成后导入 config/install/sql/install.sql 初始化数据库并配置 config/database.php 中的数据库连接信息浏览器访问后台即可完成部署。设计业务数据表二次开发的第一步所有业务功能模块都从数据表开始。以「商品分类」为例我们设计一张简单的分类表字段类型说明idint主键titlevarchar(50)分类名称imagevarchar(255)分类图片sortint排序statustinyint状态 0禁用 1启用remarkvarchar(255)备注create_time / update_timeint时间字段delete_timeint软删除字段 提示EasyAdmin 的模型基类 TimeModel 已内置时间字段和软删除支持建表时加上这三个时间字段即可自动启用。一键 CURD 生成核心命令实战数据表建好后利用内置的 CURD 命令生成整套业务代码。这是本次 EasyAdmin 二次开发中最高效的一步php think curd -t mall_cate -c mall/Cate -m MallCate-t主表名-c控制器文件名自动生成到 app/admin/controller/mall/-m模型文件名自动生成到 app/admin/model/命令执行后会一次性生成以下四类文件这正是 EasyAdmin 二次开发的核心产物生成文件作用控制器继承公共控制器并复用 CURD 逻辑模型继承 TimeModel支持软删除视图页面模板自动绑定权限节点JS 文件表格列配置、操作按钮定义解析生成的代码理解二次开发骨架生成的控制器极其精简因为所有增删改查逻辑都被封装在 app/admin/traits/Curd.php 这个 Trait 中包含列表、添加、编辑、删除、导出、属性修改等完整方法class Cate extends AdminController { use Curd; public function __construct(App $app) { parent::__construct($app); $this-model new MallCate(); } }公共控制器 AdminController 则负责权限校验、视图初始化、搜索条件构建等通用逻辑业务代码只需关注自身模型即可。而前端 JS 文件负责表格展示与操作通过ea.table.render配置列、搜索项和按钮例如状态列自动渲染为开关组件{field: status, title: 状态, templet: ea.table.switch}配置权限节点与菜单让模块正式上线代码生成后还需两步才能让模块在后台完整可用更新权限节点EasyAdmin 通过注解自动识别权限进入后台「系统管理 → 节点管理」点击「系统节点更新」即可自动扫描并注册mall.cate相关的列表、添加、编辑、删除等节点无需手工录入。绑定后台菜单在「菜单管理」中新增菜单填入控制器地址与权限节点菜单即可显示在左侧导航配合注解权限实现按钮级显示控制。 权限校验逻辑位于 AdminController 的checkAuth()方法支持免登录、免权限白名单配置可在 config/admin.php 中灵活调整。二次开发进阶技巧与常见扩展掌握了基础流程后以下几个 EasyAdmin 二次开发技巧能帮你快速应对真实业务场景字段定制在生成后的 JS 中调整列宽、搜索类型、自定义模板图片列使用ea.table.image时间列使用range范围搜索开关与下拉布尔字段用templet: ea.table.switch枚举字段配置selectList即可实现下拉筛选关联查询CURD 命令支持-r关联表参数配合模型关联实现主从表联动查询上传组件视图模板中使用data-upload即可接入图片/文件上传支持本地存储与阿里云 OSS、腾讯云 COS、七牛云等云存储表单扩展新增字段后只需同步修改 add.html 和 edit.html 两个表单模板总结通过本次实战你已经掌握了 EasyAdmin 二次开发的核心链路建表 → 一键 CURD → 权限节点 → 菜单绑定 → 字段定制。这套方法论适用于绝大多数业务模块的快速搭建让开发者把精力聚焦在真正的业务逻辑上。如果你正准备用 EasyAdmin 搭建自己的后台系统现在就动手克隆项目跑一遍完整的二次开发流程吧【免费下载链接】easyadmin框架主要使用ThinkPHP6.0 layui拥有完善的权限的管理模块以及敏捷的开发方式让你开发起来更加的舒服。项目地址: https://gitcode.com/gh_mirrors/easy/easyadmin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考