thinkphp 6.0 代码规范是硬性约束而非风格偏好,类与文件命名须严格遵循 pascalcase 且匹配 psr-4 自动加载规则,函数、配置、字段用 snake_case,控制器方法用 camelcase 但路由转小写加连字符,目录全小写、常量全大写,严禁使用 php 保留字。

ThinkPHP 6.0 的代码规范不是风格偏好,而是直接影响框架能否正常运行的硬性约束。不遵守会导致类找不到、路由失效、配置不加载、模型映射错误等实际报错,绝非“写得好看一点”而已。
类与文件命名必须严格匹配 PascalCase
TP6 基于 PSR-4 自动加载,类名、命名空间、文件路径三者必须完全一致:
- 类 app\model\User 必须定义在 app/model/User.php(目录小写,文件名首字母大写)
- 类名写成 User,就不能叫 user.php 或 UserModel.php
- 命名空间声明必须是 namespace app\model;,不能漏掉 app\ 或写成 App\model
- 多应用模式下,若模型放在 app/index/model/,命名空间就必须是 app\index\model
函数、配置项、数据库字段统一用 snake_case
这是与类/方法命名形成明确区分的关键规则,也是 TP6 内部大量使用的风格:
- 助手函数:get_client_ip()、array_merge_recursive()
- 配置键名:url_route_on、database.hostname、log.level(注意大小写敏感,app_debug ≠ APP_DEBUG)
- 数据表与字段:think_user 表、user_name 字段 —— 禁止用 userName、user-name 或中文
- 环境变量用全大写+下划线,如 APP_DEBUG;但配置参数必须小写,如 app_debug
控制器方法用 camelCase,但路由匹配转为小写
方法本身命名按小驼峰,但 URL 路由解析时会自动转为小写并加连字符,需提前预判:
- 方法名写成 getUserList,对应路由默认是 /index/user-list
- 方法名 addUserRecord → 路由为 /index/add-user-record
- 不要依赖方法名直接拼接 URL,应通过 url() 助手函数生成链接
目录、常量、类型声明有明确大小写要求
这些看似细节的地方,出错后往往难以定位:
- 目录名全部小写,如 app/model、config/route,不可用 Model 或 MODEL
- 常量和环境变量全大写+下划线,如 APP_PATH、THINK_VERSION
- 所有 PHP 文件建议开头加上 declare(strict_types=1);,配合 PHP7 强类型约束
- 禁止使用 PHP 保留字(如 class、interface、function)作类名、方法名或命名空间
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











