# 開發規范
[TOC]
## PHP代碼命名規范
* 類文件名跟類名一至,
* 目錄名全部小寫
* 類命名空間為類所在目錄結構名字同樣全部小寫,遵循ps4加載規范
* 類方法和類成員使用首字母小寫的駝峰命名
* 常量全部大寫使用用下劃線分隔
## 數據庫命名規范
* 數據表名字命名全部小寫使用下劃線分隔,英文單詞命名(***盡量不要用縮寫***),盡量不要使用拼音,因為有多音字
* 字段采用小寫加下劃線方式命名,并注意字段名不要以下劃線開頭,表的主鍵要有自增id并且使用 **表名_id** 來命名,
## 類和命名空間規范
* 所有類都要歸入指定的命名空間內,
* 建議工具類放入***utils***命令空間,雖然命名空間可以任意的添加但還是越少越好,可以直接在命令空間中添加目錄來把工具給分類放置
### 系統默認使用啦下面幾個命名空間
* controller 控制器類
* model 模型類
* validate 數據驗證類
* widget 掛件類
* logic 邏輯類
* utils 工具類
* hook 鉤子類
所有命名空間里都是按模塊目錄來歸類對應模塊的代碼
## 框架概述
**極輕量級框架**
該框架主要為啦實現降低項目的耦合度,方便多人團隊共同開發同一個項目且不會產生沖突,使用之前一定要熟悉composer 包的相關知識,因為在框架里每一個功能都可以看做是一個composer包。所有類加載符合 PSR-4 規范
## 框架原理
框架預設的頂級命名空間有 controller model logic validate,訪問的時候會自動調用 \controller\模塊\控制器,系統里有model() logic() validate()全局函數實例化也遵從這個規則,
如果在對應的模塊里找不到對應的類則對從公共模塊中查找,如果還沒有則拋出異常
## 安裝方法
使用下面命令安裝框架
`composer require mokuyu/ank-framework:@dev`