溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php的開發(fā)規(guī)范主要有哪些?

發(fā)布時間:2020-05-21 15:06:19 來源:億速云 閱讀:242 作者:鴿子 欄目:編程語言

源文件

代碼使用<?php開頭,忽略閉合標簽?>

文件格式必須是無BOM UTF-8格式

一個文件只聲明一種類型,如class和interface不能混寫在一個源文件中

縮進

使用4個空格來縮進,IDE可以設(shè)置

行長度

每行120個字符

關(guān)鍵字

所有關(guān)鍵字均為小寫,如true、false

命名

類名為大駝峰法,如UserModel

類方法名為小駝峰法,如getUserId()

函數(shù)使用小寫字母加_組合,如get_cookie()

變量名使用小駝峰法,如$userId

常量定義為大寫字母加_組合,如IS_DEBUG

代碼注釋標簽

類文件中對類、方法、屬性進行注釋,使用@param @return @throwns

@param注釋寫出詳解,如@param string $username 用戶名

業(yè)務(wù)模塊

路由為小寫字母加_組成,如/api/get_user_info

View層負責數(shù)據(jù)展示

Controller層負責輸入?yún)?shù)校驗,最外層捕捉異常,調(diào)用Logic和View視圖層

Logic層負責具體業(yè)務(wù)邏輯,調(diào)用Model層,返回處理數(shù)據(jù)

Model層負責數(shù)據(jù)表查詢和關(guān)聯(lián)關(guān)系

異常類需分清功能,如ParamException表示參數(shù)錯誤,UserException表示自定義異常

異常需分類定義code,使用PHP類常量代替,如

<?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類型,使用PHP類常量代替,如

<?php
<?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;// 超級管理員
}

其中STATUS和AUTH為數(shù)據(jù)表映射字段名

Api接口輸出,示例

{
  "code" : 0,
  "msg" : "success",
  "data" : {
    "userId" : 100
  }
}

其中code與msg為必填字段,data為空的情況下不填,示例

{
  "code" : 0,
  "msg" : "success",
  "data" : {
    "userId" : 100
  }
}

其它

數(shù)組,鍵為字符串時候使用單引號,只有一個鍵時候使用單行,示例

$arr = [ 'userId' => 100 ];

多個鍵時候使用多行,示例

$arr = [  
'id'    => 100,  
'username' => 'admin',
];

以上就是php開發(fā)規(guī)范有哪些的詳細內(nèi)容,更多請關(guān)注億速云其它相關(guān)文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI