開發規范
## 命名規范
`ThinkPHP5`遵循`PSR-2`命名規范和`PSR-4`自動加載規范,并且注意如下規范:
### 目錄和文件
* 目錄使用小寫;
* 類庫、函數文件統一以`.php`為后綴;
* 類的文件名均以命名空間定義,并且命名空間的路徑和類庫文件所在路徑一致;
* 類文件采用駝峰法命名(首字母大寫),其它文件采用小寫+;
* 類名和類文件名保持一致,統一采用駝峰法命名(首字母大寫);
### 函數和類、屬性命名
* 類的命名采用駝峰法(首字母大寫),例如 `User`、`UserType`,默認不需要添加后綴,例如`UserController`應該直接命名為`User`;
* 函數的命名使用小寫字母和下劃線(小寫字母開頭)的方式,例如 `get_client_ip`;
* 方法的命名使用駝峰法(首字母小寫),例如 `getUserName`;
* 屬性的命名使用駝峰法(首字母小寫),例如 `tableName`、`instance`;
* 以雙下劃線“**”打頭的函數或方法作為魔法方法,例如 `**call`和`\_\_autoload`;
### 常量和配置
* 常量以大寫字母和下劃線命名,例如 `APP_PATH`和 `THINK_PATH`;
* 配置參數以小寫字母和下劃線命名,例如 `url_route_on` 和`url_convert`;
### 數據表和字段
* 數據表和字段采用小寫加下劃線方式命名,并注意字段名不要以下劃線開頭,例如 `think_user` 表和 `user_name`字段,不建議使用駝峰和中文作為數據表字段命名。
### 應用類庫命名空間規范
應用類庫的根命名空間統一為app(可以設置`app_namespace`配置參數更改);
例如:`app\index\controller\Index`和`app\index\model\User`。
> 請避免使用PHP保留字(保留字列表參見 [http://php.net/manual/zh/reserved.keywords.php](http://php.net/manual/zh/reserved.keywords.php) )作為常量、類名和方法名,以及命名空間的命名,否則會造成系統錯誤。