### :-: 二次開發規范
ViooMa進銷存系統+新零售生態系統采用ThinkPHP 5.1框架進行開發,所以系統的二次開發同樣遵守ThinkPHP的開發規范,這里引用官方的數據展示給用戶。
* **命名規則**
`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`;
* **數據表和字段**
數據表和字段采用小寫加下劃線方式命名,并注意字段名不要以下劃線開頭,例如`voomai_user`表和`user_name`字段,不建議使用駝峰和中文作為數據表字段命名。
* **應用類庫命名空間規范**
應用類庫的根命名空間統一為app(不建議更改,可以設置`app_namespace`配置參數更改,`V5.0.8`版本開始使用`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))作為常量、類名和方法名,以及命名空間的命名,否則會造成系統錯誤。
>