PHP開發各類規範,面試祕籍!

基本約定php

源文件

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

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

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

縮進

使用4個空格來縮進,IDE能夠設置app

行長度

每行120個字符函數

關鍵字

全部關鍵字均爲小寫,如true、false學習

命名

類名爲大駝峯法,如UserModelspa

類方法名爲小駝峯法,如getUserId()code

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

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

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

代碼註釋標籤

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

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

 

業務模塊

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

View層負責數據展現

Controller層負責輸入參數校驗,最外層捕捉異常,調用Logic和View視圖層

Logic層負責具體業務邏輯,調用Model層,返回處理數據

Model層負責數據表查詢和關聯關係

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

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

<?php
namespace app\exceptions\codes;

class UserExceptionCode extends BaseExceptionCode {
  const NO_AUTH       = 1000001;
  const NO_AUTH_MSG     = '不具備權限';
  const STATUS_EXCEPTION   = 1000002;
  const STATUS_EXCEPTION_MSG = '狀態異常';    
}

 

數據表文件若有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爲數據表映射字段名

Api接口輸出,示例

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

 

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

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

 

其它

數組,鍵爲字符串時候使用單引號,只有一個鍵時候使用單行,示例

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

 

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

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

 

還有不少不少規範,你們能夠去找一些學習!

相關文章
相關標籤/搜索