### **4.1 目錄和文件**
* 目錄使用小寫+下劃線;
* 類庫、函數文件統一以.php為后綴;
* 類的文件名均以命名空間定義,并且命名空間的路徑和類庫文件所在路徑一致;
* 類文件采用駝峰法命名(首字母大寫),其它文件采用小寫開頭駝峰命名;
* 類名和類文件名保持一致,統一采用駝峰法命名(首字母大寫);
### **4.2 函數和類、屬性命名**
* 類的命名采用駝峰法(首字母大寫);
* 函數的命名使用駝峰法(首字母小寫),例如 getUserName;
* 屬性的命名使用駝峰法(首字母小寫),例如 tableName、instance;
* 以雙下劃線“__”打頭的函數或方法作為魔法方法,例如 __call 和 __autoload;
### **4.3 縮進**
* 代碼統一使用4空格縮進,TAB鍵轉換為4空格,IDE可以直接進行設置。
### **4.4?常量和配置**
* 常量以大寫字母和下劃線命名,例如 APP_PATH和 THINK_PATH;
* 配置參數(config文件,并非類屬性)以小寫字母和下劃線命名,例如 url_route_on 和url_convert;
### **4.5?數據表和字段**
* 數據表和字段采用小寫加下劃線方式命名,不能以非字母字符開頭,不允許使用駝峰和中文作為數據表字段命名。
* 優先采用簡短易懂的英文加下劃線命名,例如:member_info。拼音慎重
* 如果該字段表示的是時間,則統一使用_time為后綴。例如:create_time、update_time。
* 變量、表名、字段名等命名,使用英文,如果使用簡寫要在字段備注中說明清楚
* 代碼中的sql語句,禁止物理刪除,用字段進行標記(如:is_del或者status),或者使用TP的軟刪除模式。同時數據庫也會禁用刪除權限。
* 狀態字段統一使用名稱:status,默認0為不可用,1為正常。
* 建議數據表的命名不使用前綴設計,表前綴其實已經是一種過時的設計了,很多時候跨庫的設計比表前綴的設計來的更靈活和實用。
* 除自增長ID外,其余字段、表都應加上說明注釋,在注釋時,如果該字段表示多個狀態應在注釋處補全說明。
* 時間與狀態字段統一放在表的最后邊,時間在狀態之前。
- 一、概述
- 二、項目建議
- 三、樣例代碼
- 3.1 代碼風格
- 3.2 普通業務處理流程示意圖
- 3.3 事務業務處理流程示意圖
- 四、命名規范
- 五、注釋標準
- 5.1 方法函數
- 5.2 非config文件
- 5.3 修改代碼
- 5.4 數組參數
- 六、MVC建議
- 七、分層描述
- 7.1 控制器 [ Controller ]
- 7.2 驗證器 [ Validate ]
- 7.3 服務層 [ Service ]
- 7.4 模型層 [ Model ]
- 八、輸出標準
- 8.1 控制器 Response
- 8.2 驗證器 Bool
- 8.3 模型 Model | Exception
- 8.4 服務層 Mixed
- 九、其他說明
- 十、模型說明