feat: 发布智能体版

This commit is contained in:
augushong
2026-03-26 20:22:34 +08:00
parent 7ee9e102a5
commit 8cc08bcb8c
138 changed files with 7964 additions and 660 deletions

View File

@@ -0,0 +1,53 @@
---
name: "tp-controller-url-rules"
description: "解释 ThinkPHP 8 多级控制器与大驼峰控制器的 URL 访问规则。当用户询问如何访问控制器、URL 报错或需要配置路由时调用。"
---
# ThinkPHP 8 控制器 URL 访问规则
本 Skill 指导如何在 ThinkPHP 8 框架中正确访问多级控制器以及采用大驼峰命名的控制器和方法。
## 1. 大驼峰命名转换规则
ThinkPHP 8 默认开启了 URL 自动转换(`url_convert`。大驼峰命名CamelCase的控制器和方法在 URL 中会被转换为小写+下划线snake_case
- **控制器类名**`UserGroup` → URL`user_group`
- **操作方法名**`public function editInfo()` → URL`edit_info`
**示例:**
控制器 `app\admin\controller\UserGroup.php` 中的 `editInfo` 方法:
访问路径:`/admin/user_group/edit_info`
## 2. 多级控制器访问规则
当控制器存放在子目录中时URL 访问需要使用 `.`(点号)来连接目录名和控制器名。
- **目录结构**`app/admin/controller/system/Config.php`
- **访问路径**`/admin/system.config/index`
**注意:**
- 子目录名建议使用全小写。
- 如果子目录名也是大驼峰,同样遵循转换规则(取决于具体配置,但通常建议目录名保持简单)。
## 3. 混合使用示例
结合多级目录和大驼峰命名的复杂情况:
| 控制器文件路径 | 类名 | 方法名 | 对应 URL 路径 |
| :--- | :--- | :--- | :--- |
| `controller/Index.php` | `Index` | `index` | `/admin/index/index` |
| `controller/UserGroup.php` | `UserGroup` | `add` | `/admin/user_group/add` |
| `controller/system/Admin.php` | `Admin` | `login` | `/admin/system.admin/login` |
| `controller/mall/GoodsCate.php` | `GoodsCate` | `getList` | `/admin/mall.goods_cate/get_list` |
## 4. 常见问题排查
- **404 错误**:检查是否漏掉了多级控制器的 `.` 分隔符。
- **大小写敏感**:如果 URL 无法识别下划线,检查 `config/route.php` 中的 `url_convert` 是否被设置为 `false`
- **多应用影响**在多应用模式下URL 的第一段通常是应用名(如 `admin`),后续才是控制器和方法。
## 5. 开发者建议
- **统一风格**:在代码中使用大驼峰命名类和方法,但在前端请求、模板链接(如 `{:url('...')}`)中建议明确指向转换后的路径或使用系统助手函数自动生成。
- **路由定义**:对于复杂的 URL建议在 `route/*.php` 中手动定义路由规则,以提供更友好的访问地址。