mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-09 11:32:48 +08:00
docs: 重构项目规则与技能文档结构并更新开发指南
This commit is contained in:
33
.trae/skills/ulthon-core-extend-pattern/SKILL.md
Normal file
33
.trae/skills/ulthon-core-extend-pattern/SKILL.md
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
name: "ulthon-core-extend-pattern"
|
||||
description: "指导如何在不修改 extend/base 的前提下扩展功能。需要新增/改造框架内置能力(权限、菜单、管理员等)时调用。"
|
||||
---
|
||||
|
||||
# 核心层扩展模式(继承与重写)
|
||||
|
||||
## 何时调用
|
||||
|
||||
- 需要修改或扩展框架内置模块(如管理员、菜单、权限、上传等)行为。
|
||||
- 看到代码位于 `extend/base/`,但业务需要调整其逻辑或返回数据。
|
||||
|
||||
## 必须遵守
|
||||
|
||||
- 不修改 `extend/base/` 下任何文件。
|
||||
- 业务实现放在 `app/` 下,并通过继承覆盖 base 层实现。
|
||||
- 所有调用从 `app/` 下入口类开始,不直接 new/调用 `extend/base/` 类。
|
||||
|
||||
## 推荐做法
|
||||
|
||||
1. 在 `extend/base/` 找到对应基础类(通常以 `*Base.php` 结尾)。
|
||||
2. 在 `app/` 下找到或创建同职责的业务类(不带 Base 后缀),让其继承基础类。
|
||||
3. 在业务类中重写需要变更的方法:
|
||||
- 方法签名保持一致
|
||||
- 能复用就 `parent::methodName()`,必要时复制父类逻辑后改造
|
||||
4. 保持对外调用点不变:控制器/服务统一调用 `app/` 下的类。
|
||||
|
||||
## 示例定位思路
|
||||
|
||||
- 控制器:`extend/base/admin/controller/*/*Base.php` ↔ `app/admin/controller/*/*.php`
|
||||
- 模型:`extend/base/admin/model/*Base.php` ↔ `app/admin/model/*.php`
|
||||
- 服务:`extend/base/admin/service/*Base.php` ↔ `app/admin/service/*.php`
|
||||
|
||||
Reference in New Issue
Block a user