### **在 ThinkPHP6.0 開發規范的基礎上,請遵循 以下準則**
#
### **一.命名規范**
**1. 模塊/插件 命名保持唯一性 (命名必須遵循: 開發者標識+字母/下劃線/數字),禁止使用以下字符串命名:**
'app', 'cache', 'cookie', 'database', 'filesystem', 'lang', 'log', 'middleware', 'route', 'session', 'trace', 'view', 'hi','base',
'system','upload'
#
**2. 模塊/插件 的theme目錄 下禁止使用 'mobile, default' 命名;**
#
**3. 模塊/插件 前端控制器(home目錄內)禁止使用 'Api.php' 命名 ;**
#
**4.獨立session配置:**
模塊或插件的獨立session配置 前綴必須遵循: 開發者標識+下劃線+m/p+下劃線+模塊/插件名
舉例: 某個開發者的標識為 hi, 他所擁有的 hicms模塊 和 sms插件 都用了獨立session,那么它們的配置前綴命名是這樣的 hi_m_hicms , hi_p_sms
#
**5. 卸載模塊和插件時,請自覺清除自定義的緩存數據**
提示: 我們可以 在模塊或插件的安裝卸載文件 前置后置操作 里面清除緩存數據
#
**6. 模塊/插件 配置變量禁止使用以下的字符命名, 以避免與系統預加載的變量沖突:**
“version, ...”
#
**7. 緩存使用,應用[模塊/插件]全局(指單個應用范圍)緩存標簽, 建議使用如下格式命名:**
m_模塊名, p_插件名
#
**8. 使用了官方構建器,方法命名請勿與以下方法沖突:**
~~~
annexBefore(); annexAfter(); annexGet();
~~~
**9. 應用配置變量命名:**
(1) ‘應用名’+_mobile_theme_only 是開啟 “在pc端無主題模板情況下, 手機端主題模板被優先使用” 的變量名
#
#
### **二. 數據規范**
**1. 應用/sql/install.sql**
可為空的字段,請設置默認值且不能為null, 舉例如下 "intro,views" 字段
(導致問題: 使用系統備份數據后, 恢復時報錯)
~~~
CREATE TABLE `pre_article` (
`id` INT UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT,
`title` VARCHAR(60) NOT NULL,
`intro` VARCHAR(500) DEFAULT '',
`views` INT(10) UNSIGNED DEFAULT 0
...
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='文章表';
~~~
#
#
### **三. SDK規范**
**1. 使用第三方sdk**
開發者在開發需要上傳HiPHP應用中心的應用時,使用第三方接口時,在第三方**官方**提供了SDK的composer安裝前提下,必須使用composer安裝**官方**的SDK .
理由:官方sdk更優秀; 接口升級更方便; 不同開發者開發應用可共用sdk,提高代碼復用...
舉例: 如 使用騰訊的cos 服務,我們在項目的根目錄 下執行
```
composer require qcloud/cos-sdk-v5
```