* [(一)命名规范](https://www.kancloud.cn/ide_team/phpstorm/891697#_3)
* [(二)目录和文件](https://www.kancloud.cn/ide_team/phpstorm/891697#_8)
* [(三)函数和类、属性命名](https://www.kancloud.cn/ide_team/phpstorm/891697#_15)
* [(四)变量命名](https://www.kancloud.cn/ide_team/phpstorm/891697#_22)
* [(五)常量和配置](https://www.kancloud.cn/ide_team/phpstorm/891697#_27)
* [(六)数据表和字段](https://www.kancloud.cn/ide_team/phpstorm/891697#_31)
* [(七)应用类库命名空间规范](https://www.kancloud.cn/ide_team/phpstorm/891697#_34)
# (一)命名规范
命名以标准计算机英文为蓝本,杜绝一切拼音、或拼音英文混杂的命名方式;
`ThinkPHP5`遵循`PSR-2`命名规范和`PSR-4`自动加载规范,并且注意如下规范:
详细请看流年总结的《PSR编码规范》,网址:[https://www.kancloud.cn/thinkphp/php-fig-psr/3139](https://www.kancloud.cn/thinkphp/php-fig-psr/3139),请自行参考!
# (二)目录和文件
目录使用小写+下划线;
类库、函数文件统一以`.php为`后缀;
类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
类文件采用驼峰法命名(首字母大写),其它文件采用小写+下划线命名;
类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);
# (三)函数和类、属性命名
类的命名采用驼峰法(首字母大写),例如`User`、`UserType`,默认不需要添加后缀,例如`UserController`应该直接命名为`User`(注:`TMC`项目目前采用`UserController`);
函数的命名使用小写字母和下划线(小写字母开头)的方式,例如`get_client_ip`;
方法的命名使用驼峰法(首字母小写),例如`getUserName`;
属性的命名使用驼峰法(首字母小写),例如`tableName`、`instance`;
以双下划线`__`打头的函数或方法作为魔术方法,例如`__call`和`__autoload`;
# (四)变量命名
1. 变量、函数名一律为小写格式;变量与函数命名时一切使用单数形式。如果需要表达“多”的概念,可以使用`$goodsList`等数量词
2. 全局变量应该带有前缀`g`。如:`global $gTest`。
3. 静态变量应该带有前缀`s`。如:`state $sStatus = 1`;
# (五)常量和配置
常量以大写字母和下划线命名,例如`APP_PATH`和`THINK_PATH`;
配置参数以小写字母和下划线命名,例如`url_route_on`和`url_convert`;
# (六)数据表和字段
数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如`think_user`表和`user_name`字段,不建议使用驼峰和中文作为数据表字段命名。
# (七)应用类库命名空间规范
应用类库的根命名空间统一为`app`(不建议更改,可以设置`app_namespace`配置参数更改,V5.0.8版本开始使用`APP_NAMESPACE`常量定义);
例如:`app\index\controller\Index`和`app\index\model\User`。