基本約定
代碼使用?php開(kāi)頭,忽略閉合標(biāo)簽?>
文件格式必須是無(wú)BOM UTF-8格式
一個(gè)文件只聲明一種類(lèi)型,如class和interface不能混寫(xiě)在一個(gè)源文件中
使用4個(gè)空格來(lái)縮進(jìn),IDE可以設(shè)置
每行120個(gè)字符
所有關(guān)鍵字均為小寫(xiě),如true、false
類(lèi)名為大駝峰法,如UserModel
類(lèi)方法名為小駝峰法,如getUserId()
函數(shù)使用小寫(xiě)字母加_組合,如get_cookie()
變量名使用小駝峰法,如$userId
常量定義為大寫(xiě)字母加_組合,如IS_DEBUG
類(lèi)文件中對(duì)類(lèi)、方法、屬性進(jìn)行注釋,使用@param @return @throwns
@param注釋寫(xiě)出詳解,如@param string $username 用戶名
路由為小寫(xiě)字母加_組成,如/api/get_user_info
View層負(fù)責(zé)數(shù)據(jù)展示
Controller層負(fù)責(zé)輸入?yún)?shù)校驗(yàn),最外層捕捉異常,調(diào)用Logic和View視圖層
Logic層負(fù)責(zé)具體業(yè)務(wù)邏輯,調(diào)用Model層,返回處理數(shù)據(jù)
Model層負(fù)責(zé)數(shù)據(jù)表查詢和關(guān)聯(lián)關(guān)系
異常類(lèi)需分清功能,如ParamException表示參數(shù)錯(cuò)誤,UserException表示自定義異常
異常需分類(lèi)定義code,使用PHP類(lèi)常量代替,如
?php namespace app\exceptions\codes; class UserExceptionCode extends BaseExceptionCode { const NO_AUTH = 1000001; const NO_AUTH_MSG = '不具有權(quán)限'; const STATUS_EXCEPTION = 1000002; const STATUS_EXCEPTION_MSG = '狀態(tài)異常'; }
數(shù)據(jù)表文件如有Enum類(lèi)型,使用PHP類(lèi)常量代替,如
?php namespace app\enums; class UserEnum extends BaseEnum { const STATUS_DELETED = -1;// 已刪除 const STATUS_DISABLE = 0;// 禁用 const STATUS_ENABLE = 1;// 正常 const AUTH_GUEST = 1;// 匿名用戶 const AUTH_GENERAL_ADMIN = 2;// 普通管理員 const AUTH_SUPER_ADMIN = 3;// 超級(jí)管理員 }
其中STATUS和AUTH為數(shù)據(jù)表映射字段名
Api接口輸出,示例
{ "code" : 0, "msg" : "success", "data" : { "userId" : 100 } }
其中code與msg為必填字段,data為空的情況下不填,示例
{ "code" : 100001, "msg" : "不具有權(quán)限" }
數(shù)組,鍵為字符串時(shí)候使用單引號(hào),只有一個(gè)鍵時(shí)候使用單行,示例
$arr = [ 'userId' => 100 ];
多個(gè)鍵時(shí)候使用多行,示例
$arr = [ 'id' => 100, 'username' => 'admin', ];
字符串使用單引號(hào)'
標(biāo)簽:曲靖 興安盟 南京 南昌 太原 株洲 濱州 白酒營(yíng)銷(xiāo)
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺析PHP開(kāi)發(fā)規(guī)范》,本文關(guān)鍵詞 淺析,PHP,開(kāi)發(fā),規(guī)范,淺析,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。