## 目錄規范
~~~
Addons 插件目錄(每個子目錄代表一個插件)
Application 應用模塊目錄
|Admin 后臺模塊
|Common 公共模塊,不能通過URL訪問
|Home 前臺模塊
|User 用戶中心客戶端,不能通過URL訪問
Public 公共資源目錄
|js 公共js資源文件目錄
|css 公共css資源文件目錄
|images 公共images資源文件目錄
|static 公共靜態插件
Uploads 公共上傳根目錄
~~~
## 開發規范
FOHEART用戶中心完全按OneThink開發規范進行
開發前請詳細閱讀:
http://www.hmoore.net/manual/thinkphp/1687
## FOHEART用戶中心特別開發規范
- 規范:遵循PSR-2、PSR-4規范;
- 嚴謹:異常嚴謹的錯誤檢測和安全機制,詳細的日志信息,為你的開發保駕護航;
- 靈活:減少核心依賴,擴展更靈活、方便,支持命令行指令擴展;
- 類文件命名 - 同ThinkPHP命名規范
- 方法命名規范 - 駝峰命名,不能出現下劃線
- 類屬性規范 - 類屬性和類方法一致,統一使用駝峰
- 函數命名 - 小寫字母加下劃線
- 變量命名規范 - 產品中不涉及到全局變量,局部變量不做強制要求,建議使用下劃線
- 推薦 - 后臺控制器里給列表賦值的變量都用list, 單一數據讀取、保存都用data,其他臨時變量 最好不要使用這兩個,以免造成沖突
- 數據庫規范
- 所有的字段必須添加注釋
- 字段名小寫,多關鍵字使用下劃線分割(關鍵字盡量全稱)
- 所有字段不允許 null值
- 字段長度定義(如下列出一般情況,特殊情況特殊處理)
- 數據表引擎 MyISAM
- 所有的表應該都有status 字段來標注數據狀態,業務狀態請使用其他字段;status字段類型 為帶符號的 tinyint【 -1 已刪除/ 0 被禁用/1 正常/2 未審核】
- 注釋必須有 @author 項,方便在遇到問題時候找到作者調整。
- 安全規范
- 關鍵數據只能從數據庫獲取數據,不能通過前臺傳遞,前臺只能傳遞對應查詢條件。
- 權限判斷 - 進行任何業務操作前,必須使用checkAuth()方法進行權限檢測。
- 安全過濾 - 使用I()函數接收前臺傳值,I()中第三個參數要填寫正確的過濾方法
- 命名規范額外注意事項嚴格遵守Onethink的命名規范: http://document.onethink.cn/manual_1_0.html#onethink_3_1
- 禁止采用簡單縮寫的形式命名函數,如sd,si,sp等等。