mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-08 11:02:48 +08:00
docs: 重构项目规则与技能文档结构并更新开发指南
This commit is contained in:
71
CODERULE.md
71
CODERULE.md
@@ -70,7 +70,7 @@ Ulthon Admin 采用独特的双层架构设计,其中 **基础核心层 (`exte
|
||||
### 1. 开发红线与原则
|
||||
|
||||
- **核心保护**: 严禁修改 `extend/base/` 目录下的任何文件。
|
||||
- **业务隔离**: 所有业务逻辑必须放在 `application/` 目录下。
|
||||
- **业务隔离**: 所有业务逻辑必须放在 `app/` 目录下。
|
||||
|
||||
### 2. 扩展机制:继承与重写
|
||||
|
||||
@@ -79,49 +79,40 @@ Ulthon Admin 采用独特的双层架构设计,其中 **基础核心层 (`exte
|
||||
- **继承**: 业务类继承 `extend/base/` 中的基础类。
|
||||
- **重写**: 在业务类中重写父类方法,保持方法签名一致。
|
||||
- **调用父类**: 使用 `parent::methodName()` 复用原有逻辑,或者从父类复制代码重新实现。
|
||||
- **注意**: 全新开发的业务模块不受此限制,直接在 `application/` 下开发即可。
|
||||
- **注意**: 全新开发的业务模块不受此限制,直接在 `app/` 下开发即可。
|
||||
|
||||
### 3. 标准开发流程
|
||||
|
||||
1. **设计数据库表结构**
|
||||
1. **设计/调整表结构**
|
||||
- 严格遵循【第一部分:通用基础规范】中的数据库设计规范。
|
||||
- 可以直接在数据库中创建表,也可以使用 Scheme 层代码化创建。
|
||||
- 优先通过 Scheme 机制在 `app/admin/scheme/` 代码化维护表结构。
|
||||
|
||||
2. **生成基础代码 (CURD)**
|
||||
- 使用 `php think curd` 命令生成控制器、模型、视图等。
|
||||
- 推荐先生成到临时目录 (`-r`) 确认无误。
|
||||
2. **同步并确保一致**
|
||||
- 以代码为准:`scheme:sync`
|
||||
- 以数据库为准:`scheme:make -t {table}`
|
||||
- **注意**:生成 CURD 前,Scheme 与数据库结构必须完全一致,否则会被拒绝。
|
||||
|
||||
3. **业务代码定制**
|
||||
- 在生成的代码基础上进行修改。
|
||||
- 仅操作 `application/` 目录。
|
||||
3. **生成基础代码(CURD)**
|
||||
- 推荐先生成到临时目录确认:`php think curd -t {table} -r`
|
||||
- 确认无误后再正式生成/覆盖:`php think curd -t {table}` / `php think curd -t {table} -f`
|
||||
|
||||
4. **测试与验证**
|
||||
- 功能测试、数据完整性检查、代码规范检查。
|
||||
4. **业务代码定制**
|
||||
- 在生成代码基础上进行修改,仅操作 `app/` 目录。
|
||||
|
||||
5. **测试与验证**
|
||||
- 功能测试、数据完整性检查、代码规范检查(遵循项目 PHP-CS-Fixer 配置)。
|
||||
|
||||
### 4. 常用开发工具
|
||||
|
||||
#### 4.1 代码生成命令 (CURD)
|
||||
> 文档: [CURD 命令详解](https://doc.ulthon.com/read/augushong/ulthon_admin/curd-command/zh-cn/2.x.html)
|
||||
|
||||
**常用命令示例**:
|
||||
```bash
|
||||
# 生成表 ul_test_goods 的 CURD
|
||||
php think curd -t test_goods
|
||||
|
||||
# 生成到临时目录 (推荐)
|
||||
php think curd -t test_goods -r
|
||||
|
||||
# 强制覆盖
|
||||
php think curd -t test_goods -f
|
||||
|
||||
# 删除生成的 CURD
|
||||
php think curd -t test_goods -d
|
||||
```
|
||||
更完整的命令组合与参数说明,优先以在线文档为准;仓库内的工作流摘要可参考 `.trae/skills/ulthon-scheme-curd-workflow/`。
|
||||
|
||||
### 5. 前端开发规范
|
||||
|
||||
#### 5.1 文件组织
|
||||
每个视图 HTML 文件应搭配一个同名的 JS 文件,结构如下:
|
||||
每个视图 HTML 文件应搭配一个同名的 JS 文件,并按模块维护 `_common.js`,结构示例:
|
||||
|
||||
```text
|
||||
goods/
|
||||
@@ -136,7 +127,7 @@ goods/
|
||||
|
||||
### 6. Scheme 机制(数据库代码化)
|
||||
|
||||
Ulthon Admin 引入了 Scheme 层,实现了数据库结构与 PHP 代码的双向同步,便于版本控制和快速迁移。
|
||||
Ulthon Admin 引入了 Scheme 层,实现数据库结构与 PHP 代码的双向同步,便于版本控制和快速迁移。
|
||||
|
||||
#### 6.1 核心概念
|
||||
- **Code to DB (`scheme:sync`)**: 通过编写 PHP 类定义表结构,自动同步到数据库(支持备份原表)。
|
||||
@@ -145,26 +136,6 @@ Ulthon Admin 引入了 Scheme 层,实现了数据库结构与 PHP 代码的双
|
||||
#### 6.2 目录规范
|
||||
- **业务 Scheme**: `app/admin/scheme/` (所有生成的业务表结构类存放在此)
|
||||
|
||||
#### 6.3 常用命令
|
||||
```bash
|
||||
# 将数据库表 ul_test_goods 反向生成为 PHP 代码
|
||||
php think scheme:make -t test_goods
|
||||
#### 6.3 参考资料
|
||||
|
||||
# 将 app/admin/scheme/ 下的代码同步到数据库 (自动备份原表)
|
||||
php think scheme:sync
|
||||
```
|
||||
|
||||
#### 6.4 标准 CURD 开发工作流
|
||||
Scheme 机制是 CURD 生成的前置依赖,开发流程如下:
|
||||
|
||||
1. **设计表结构**:
|
||||
- 方式 A:手动创建/修改数据库表结构。
|
||||
- 方式 B:手动编写/修改 `app/admin/scheme/` 下的 Scheme 类。(推荐)
|
||||
|
||||
2. **同步结构(确保一致性)**:
|
||||
- 若采用方式 A,执行 `php think scheme:make -t {table}` 将变更同步到 Scheme。
|
||||
- 若采用方式 B,执行 `php think scheme:sync` 将变更同步到数据库。
|
||||
- **注意**:生成 CURD 前,Scheme 与数据库结构必须完全一致,否则会被拒绝。
|
||||
|
||||
3. **生成 CURD**:
|
||||
- 执行 `php think curd -t {table}` 生成业务代码。
|
||||
- 标准工作流摘要:`.trae/skills/ulthon-scheme-curd-workflow/SKILL.md`
|
||||
|
||||
Reference in New Issue
Block a user