mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-01 15:32:48 +08:00
53 lines
2.7 KiB
Markdown
53 lines
2.7 KiB
Markdown
## 不应该做的事情
|
||
|
||
1. 一般而言你不需要直接修改开发环境,除了安装composer依赖或其他开发相关的资源。但你不应该自己安装docker、mysql、redis等基础环境,这些由开发者提前维护好。
|
||
2. 一般而言你不需要修改环境配置文件(如 `.env`),这些由开发者提前维护好,如果你发现错误应当提示开发者完善相关的配置。
|
||
3. 你不需要自己运行项目程序,开发者会提前运行好,以便你直接在开发过程中调试。
|
||
|
||
|
||
## 需要遵守的规则
|
||
|
||
基本规则参考 [CODERULE.md](./CODERULE.md);
|
||
更多规则参考在线文档 https://doc.ulthon.com/read/augushong/ulthon_admin/home/zh-cn/2.x.html
|
||
|
||
## 框架工具
|
||
|
||
### 数据库操作
|
||
|
||
项目内置了数据库操作工具,可以直接在命令行中执行数据库操作。命令是:
|
||
```bash
|
||
php think tools:db:execute
|
||
php think tools:db:query
|
||
php think tools:db:table
|
||
php think tools:db:count
|
||
php think tools:db:info
|
||
php think tools:db:desc
|
||
```
|
||
通过 --help 可以查看每个命令的详细说明。
|
||
该功能的作用是快捷调试数据库的数据,不要通过这个方式设计表结构,(临时调试修改表结构等可以使用,但要注意还原,关于表结构设计有专门的方案规范)。
|
||
|
||
### 命令行交互
|
||
|
||
所有命令行工具均支持使用 `--force-force` (简写 `-ff`) 全局参数来跳过交互确认。
|
||
|
||
### 理解和设计表结构
|
||
|
||
项目内置SCHEME机制,参考 [CODERULE.md](./CODEGUIDE.md)的 Scheme 机制 部分。通过scheme可以获得所有表结构,也可以用于设计数据库结构。
|
||
|
||
### 开发流程
|
||
|
||
项目内置CURD机制,基本流程在[CODERULE.md](./CODERULE.md)的 CURD 部分,详细说明需要查看在线文档。
|
||
|
||
### 页面接口同体机制
|
||
|
||
系统支持页面和接口同体,即同一个控制器方法既可以返回 HTML 页面,也可以返回 JSON 接口数据。
|
||
|
||
- **触发方式**:在请求头(Header)中设置 `Accept` 包含 `application/json`。
|
||
- **认证方式**:支持在 Header 中传入 `Authorization: Bearer tokenContent` 进行接口认证。
|
||
- **实现要求**:控制器方法必须调用 `$this->fetch()` 而非 `View::fetch()`。
|
||
- **数据输出**:
|
||
- 无论是 `$this->assign()` 还是 `View::assign()` 的数据都会被转换为 JSON。
|
||
- 如果不希望某个数据出现在 JSON 中,可以使用 `$this->assign('name', 'value', -1)`(第三个参数设为 -1)。
|
||
- **特殊处理**:`index` 方法GET方式默认返回分页数据。若需获取 `assign` 的数据,需在 URL 中添加参数 `get_page_data=1`。
|
||
- **生效范围**:仅在控制器模式(Controller Mode)中生效,路由模式(Route Mode)不生效。
|