# 規范
* * * * *
### 目錄和文件命名
* 目錄命令使用小寫加下劃線。
* 類庫、函數文件統一以.php為后綴。
* 類的文件名均以命名空間定義,并且命名空間的路徑和類庫文件所在路徑一致。
* 類文件采用駝峰法命名(首字母大寫),其它文件采用小寫加下劃線命名。
* 類名和類文件名保持一致,統一采用駝峰法命名(首字母大寫)。
* * * * *
### 函數和類、屬性命名
* 類的命名采用駝峰法(首字母大寫),例如 User。
* 函數的命名使用小寫字母和下劃線(小寫字母開頭)的方式,例如 get_client_ip。
* 方法的命名使用駝峰法(首字母小寫),例如 getUserName。
* 屬性的命名使用駝峰法(首字母小寫),例如 tableName、instance。
* 類名和類文件名保持一致,統一采用駝峰法命名(首字母大寫)。
* * * * *
### 常量和配置命名
* 常量以大寫字母和下劃線命名,例如 APP_PATH。
* 配置參數以小寫字母和下劃線命名,例如 url_route_on。
* * * * *
### 數據表和字段命名
* 數據表和字段采用小寫加下劃線方式命名,并注意字段名不要以下劃線開頭,例如 think_user 表和 user_name字段,不建議使用駝峰和中文作為數據表字段命名。
* * * * *
### 參考建議
* 每個類(不含注釋)代碼應在200行內,每個方法(不含注釋)代碼應在20行內,每行末尾不能有空格。
* 控制器層(controller)中,盡量不出現 if else switch 等流程分支語句。
* 業務邏輯盡量封裝在邏輯層(logic)中,供控制器調用。
* 數據模型層(model)盡量在邏輯層 logic 中使用,盡量不要再控制器中直接使用model。
* 數據驗證盡量寫在驗證層(validate)中,供邏輯層調用,盡量不要在控制器中進行數據驗證。
* 支付|短信 等盡量封裝為服務便于后續擴展,圖標選擇|省市縣聯動 等盡量封裝為插件便于后續復用。
* API接口盡量根據APP界面實現聚合接口,減少APP接口請求。
* 非OneBase函數盡量放在app/function.php文件中,新增非入庫配置項盡量放在ext_config.php文件中,extend目錄中擴展相關函數放入extend.php文件中。
* 其他文檔中遺漏項,盡量參考OneBase編碼與命名。
- 序言
- 基礎
- 安裝環境
- 安裝演示
- 規范
- 目錄
- 介紹
- 后臺介紹
- 后臺首頁
- 會員管理
- 系統管理
- 系統設置與配置管理
- 菜單管理
- 系統回收站
- 服務管理
- 插件管理
- 文章管理
- 接口管理
- 優化維護
- SEO管理
- 數據庫
- 文件清理
- 行為日志
- 執行記錄
- 統計分析
- 接口介紹
- 接口文檔
- 錯誤碼設計
- Token介紹
- 前臺介紹
- 架構
- 架構總覽
- 生命周期
- 入口文件
- 模塊設計
- 依賴注入
- 控制器架構
- 邏輯架構
- 驗證架構
- 服務架構
- 模型架構
- 行為架構
- 插件架構
- 配置
- 配置介紹
- 配置加載
- 配置擴展
- 請求
- 請求信息
- 日志
- 后臺行為日志
- 系統執行日志
- 框架日志
- 數據
- 數據庫設計
- 數據字典
- 數據庫操作
- 事務控制
- 混合操作
- 實戰
- 控制器
- 邏輯與驗證
- 視圖與模型
- 插件研發
- 服務研發
- 接口研發
- 雜項
- 數據導入導出
- 二維碼條形碼
- 郵件發送
- 云存儲服務
- 支付服務
- 短信服務
- 微信分享
- 生成海報
- 聊天室
- PJAX
- Demo
- Widget
- 附錄
- 常量參考
- 配置參考
- 函數參考
- 進階
- Redis
- 自動緩存
- 全自動緩存
- 索引
- 數據簽名
- 全自動事務
- 隊列