基于 PHP Webman 框架开发的极速开发平台,为前端应用提供稳定、高效的 API 服务。
| 技术 | 版本 | 说明 |
|---|---|---|
| PHP | 8.2 ~ 8.4 | 核心开发语言 |
| Webman | 2.2 | 高性能 PHP 框架 |
| MySQL | 8.0+ | 数据库 |
| Redis | 7.0+ | 缓存服务 |
| Composer | 2.x | 依赖管理工具 |
| Nginx/Apache | - | Web 服务器 |
madong/ # 项目根目录
├── backend/ # 后端目录(当前目录)
│ ├── app/ # 应用目录(单体分层结构)
│ │ ├── adminapi/ # 管理后台 API
│ │ │ ├── config/ # 后台 API 配置
│ │ │ ├── controller/ # 后台控制器(按业务域组织文件)
│ │ │ ├── event/ # 后台事件
│ │ │ ├── listener/ # 后台事件监听器
│ │ │ ├── middleware/ # 后台中间件
│ │ │ ├── schema/ # 后台数据结构定义
│ │ │ ├── validate/ # 后台验证器
│ │ │ └── CurrentUser.php # 当前用户上下文
│ │ ├── api/ # 前台 API
│ │ │ ├── config/ # 前台 API 配置
│ │ │ ├── controller/ # 前台控制器(按站点组织文件)
│ │ │ ├── event/ # 前台事件
│ │ │ ├── listener/ # 前台事件监听器
│ │ │ ├── middleware/ # 前台中间件
│ │ │ ├── schema/ # 前台数据结构定义
│ │ │ ├── validate/ # 前台验证器
│ │ │ └── CurrentMember.php # 当前会员上下文
│ │ ├── dao/ # 数据访问层(按业务域:content/member_sign/ops/site/sys_admin_type/system)
│ │ ├── enum/ # 枚举类(content/system)
│ │ ├── model/ # 模型(content/ops/system)
│ │ ├── service/ # 业务服务层(admin/api/core)
│ │ ├── schema/ # 数据结构定义(response/plugin)
│ │ ├── command/ # 命令行工具(plugin 迁移)
│ │ ├── event/ # 事件定义
│ │ ├── listener/ # 事件监听器
│ │ ├── bootstrap/ # 启动引导文件
│ │ ├── middleware/ # 中间件
│ │ ├── process/ # 自定义进程
│ │ ├── queue/ # 队列任务
│ │ ├── scope/ # 模型作用域
│ │ ├── install/ # 安装脚本
│ │ ├── exception/ # 异常处理
│ │ └── functions.php # 全局函数
│ ├── config/ # 配置文件
│ │ ├── plugin/ # 插件配置(limiter/validation 等)
│ │ ├── route/ # 路由配置
│ │ └── *.php # 各类配置文件
│ ├── core/ # 核心框架(领域分层架构)
│ │ ├── business/ # 业务核心(多租户/审批等)
│ │ ├── communication/ # 通信(sms/email/notify 消息通知)
│ │ ├── foundation/ # 基础组件(cache/db/uuid/jwt/logger)
│ │ ├── infrastructure/ # 基础设施(存储/队列等)
│ │ ├── interface/ # 接口定义(契约/抽象)
│ │ ├── io/ # IO(upload 上传 / excel 导入导出)
│ │ ├── security/ # 安全(captcha 验证码 / exception 异常)
│ │ └── functions.php # 核心函数
│ ├── plugin/ # 插件目录
│ │ ├── codegen/ # 代码生成插件(后端)
│ │ └── demo/ # 演示插件(运行时 + 前端模板源)
│ ├── public/ # 静态资源
│ ├── resource/ # 资源文件(migrations 迁移 / seeds 种子 / menu 菜单 / translations 翻译)
│ ├── runtime/ # 运行时文件
│ ├── support/ # 第三方支持库
│ ├── tests/ # 单元测试
│ ├── vendor/ # Composer 依赖包
│ ├── composer.json # Composer 配置
│ ├── composer.lock # 依赖锁定文件
│ ├── phpunit.xml # 测试配置
│ └── README.md # 项目说明文档
│
└── template/ # 前端模板目录(需单独下载)
├── admin/ # 管理后台前端
├── web/ # 前台前端
└── install/ # 安装器前端
注意:前后端分离部署,前端目录需单独下载或创建。
- 用户认证:基于 JWT 的身份验证机制
- 权限管理:细粒度的权限控制体系
- 缓存服务:集成 Redis 缓存,提升系统性能
- 邮件服务:支持邮件发送功能
- 文件上传:支持多种存储方式
- 国际化:支持多语言配置
- 插件系统:支持第三方扩展(codegen 代码生成、demo 演示等)
- 命令行工具:支持更多操作(插件迁移等)
- SSE 实时推送:支持 Server-Sent Events 实时进度反馈
- 服务层架构:清晰的 DAO/Service 分层设计
- 代码生成器:自动化生成控制器、模型、服务层代码
- 数据迁移:支持数据库版本化管理
- 单体架构:标准版与多租户版统一架构,便于按需启用
- PHP 8.2 ~ 8.4
- MySQL 8.0+
- Redis 7.0+
- Nginx/Apache
- Composer 2.x+
确保安装了以下软件:
- PHP 8.2 ~ 8.4
- MySQL 8.0+
- Redis 7.0+
- Nginx/Apache
- Composer 2.x+
- Git(用于下载前端资源)
# 进入后端目录
cd backend
# 安装后端依赖
composer install方式一:使用命令下载(推荐)
# 进入后端目录
cd backend
# 下载所有前端代码(管理后台 + 前台)
php webman madong-download:frontend
# 仅下载管理后台
php webman madong-download:frontend --admin
# 仅下载前台
php webman madong-download:frontend --web
# 指定分支下载
php webman madong-download:frontend -b develop
# 强制覆盖更新
php webman madong-download:frontend -f方式二:手动下载
如果没有安装 Git 或无法使用命令,可手动下载前端代码:
-
从 GitHub 仓库下载:
-
解压后将代码放置到项目根目录:
madong/ ├── backend/ # 后端代码 └── template/ # 前端模板代码 ├── admin/ # 管理后台前端(来自 madong-single) ├── web/ # 前台前端(来自 madong-web) └── install/ # 安装器前端
完成以上步骤后,访问安装向导完成系统配置:
http://127.0.0.1:8500/install
# 进入后端目录
cd backend
# 开发环境启动
php start.php start
# 生产环境启动
php start.php start -d服务默认运行在 http://127.0.0.1:8500
修改 config/database.php 文件,配置数据库连接:
return [
'default' => 'mysql',
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => '127.0.0.1',
'port' => 3306,
'database' => 'madong',
'username' => 'root',
'password' => '123456',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
],
],
];修改 config/redis.php 文件,配置 Redis 连接:
return [
'default' => [
'host' => '127.0.0.1',
'port' => 6379,
'auth' => '',
'db' => 0,
],
];启动服务后,可通过以下方式访问 API 文档:
- 查看
app/adminapi/controller与app/api/controller目录下的控制器文件 - 参考项目文档
- 遵循 PSR-4 自动加载规范
- 遵循 PSR-12 代码风格规范
- 使用 PHP 8.2+ 的特性
- 创建控制器:在
app/adminapi/controller(按业务域组织文件)或app/api/controller(按站点组织文件)目录下创建控制器 - 创建服务层:在
app/service对应业务域目录下创建业务逻辑 - 创建 DAO 层:在
app/dao对应业务域目录下创建数据访问对象 - 创建模型:在
app/model对应业务域目录下创建 Eloquent 模型 - 配置路由:在
config/route.php或config/route/adminapi.php/config/route/api.php文件中添加路由 - 测试:使用 Postman 或其他工具测试 API
管理后台: http://v5.madong.tech 账号:admin 密码:123456
- 后端重构为 madong 单体后台架构,统一支持标准版与多租户版
- 框架核心分层:
core重构为 business / communication / foundation / infrastructure / interface / io / security 分层,移除旧的扁平 core 模块 - 应用业务层重组:
app重组为 adminapi(controller/事件/监听/验证器按业务域组织)与 api(前台站点)双入口,dao / model / enum / service / schema 按业务域分层,补充 command 插件迁移、event/listener、bootstrap 模块 - 插件清理:移除
plugin/example示例插件,精简plugin/demo前端模板源,新增plugin/codegen代码生成插件 - 数据迁移:迁移文件重命名(2026_04_01 → 2026_07_01),新增系统/会员/代码生成/站点/审核表迁移,大幅更新菜单与种子数据
- 配置与安装:新增
limiter、重命名rate-limiter,新增validation插件配置,更新安装器资源与composer依赖 - 测试:新增
phpunit.xml单元测试配置
- 重构后端架构,基于 Webman 框架
- 实现 JWT 认证机制
- 集成 Redis 缓存服务
- 优化数据库操作
- 增强插件系统,支持第三方扩展
- 完善配置系统,支持多环境配置
- 新增国际化支持,支持多语言
- 优化错误处理和日志系统
- 新增文件上传功能,支持多种存储方式
- 完善命令行工具,支持更多操作
- 新增 SSE 实时推送,支持插件安装/卸载进度实时反馈
- 新增服务层(Service)和数据访问层(DAO)分层架构
- 新增代码生成器,提升开发效率
- 优化插件安装/卸载流程,统一由插件 Install.php 管理生命周期
- 新增枚举类规范,统一状态码和业务枚举定义
madong 提供一套面向 AI 编码助手的 Skills 技能包,覆盖后端、前端与跨端场景,帮助自动化完成模块开发、代码生成、CRUD 脚手架等任务。
- 仓库地址:https://github.com/madong-code/madong-admin-skills
- 目录结构:
backend/:后端开发技能(控制器 / 服务 / DAO / 迁移等脚手架)frontend/:前端开发技能(页面 / 表单 / 列表脚手架)cross/:跨端通用技能(约定规范、提交信息、同步脚本等)
- 使用方式:将 skills 仓库克隆到本地,按需加载对应技能到 AI 编码助手,按其 SOP 描述执行任务。
产品BUG、优化建议,欢迎社区反馈:http://www.madong.tech
非常欢迎你的加入!提一个 Issue 或者提交一个 Pull Request。
Pull Request:
- Fork 代码!
- 创建自己的分支:
git checkout -b feature/xxxx - 提交你的修改:
git commit -am 'feat(function): add xxxxx' - 推送您的分支:
git push origin feature/xxxx - 提交
pull request
-
feat增加新功能fix修复问题/BUGstyle代码风格相关无影响运行结果的perf优化/性能提升refactor重构revert撤销修改test测试相关docs文档/注释chore依赖更新/脚手架配置修改等ci持续集成types类型定义文件更改wip开发中
- 官方文档:https://madong.tech
- 讨论交流:点击链接加入群聊:690671595
Apache License
