1、PHP中對各類變量內容的命名規范
(1)目錄命名、文件命名、局部變量命名:
使用英文名詞、動詞,以下劃線作為單詞的分隔,所有字母均使用小寫
目錄:upload、templates、install、manage……
文件:index.php 、 register.php 、 config.php……
變量:$user , $pay_time , $pay_del_cont ……
(2)全局常量命名:
使用英文名詞、動詞,所有字母都使用大寫,以下劃線分隔每個單詞
define( 'WEBSITE_NAME', '名稱' );
define( 'WEBSITE_URL', '地址' );
英文名詞、動(3)數組變量命名:
詞,以下劃線作為分隔,所有字母均使用小寫以array結束
$scope_array = array();
$book_id_array = array();
(4)對象變量命名:
英文名詞、動詞,以下劃線作為分隔,可以完整采用類名或是簡化類名,但是必須明確知道是什麼類,所有字母均使用小寫,在變量後加上_obj
$user_obj = new userAccount();
$pay_obj = new payOrder();
(5)類的命名:
使用英文名詞,以大寫字母作為詞的分隔,其他的字母均使用小寫,名詞的首個字母使用小寫,不使用下劃線
class userAccount{ ……}
(6)方法命名:
使用英文名詞、動詞,以下劃線作為單詞的分隔,所有字母均使用小寫
復制代碼 代碼如下:
class userAccount {
public $name_account=‘';
function is_account_ok(){
...
}
function add_account(){
...
}
}
關於對象屬性的命名同理!
2、PHP中函數、符號、運算寫作規范
(1)if語句大括號{}規則:
將大括號放置在關鍵詞後方
使用IF語句盡量使用大括號
復制代碼 代碼如下:
if ( $condition ){
...
}else{
…
}
(2)、switch規則
每個case塊結束處必須加上break,而default總應該存在處理未知情況,例:
復制代碼 代碼如下:
switch( $condition ){
case 'user':
...
break;
case 'type':
...
break;
default:
...
break;
}
(3)、聲明定位規則
聲明代碼塊需要對齊,且初次使用變量時需要初始化
$tableName = '';
$databaseObject = '';
盡量不使用以下方式,例:
$tableName;
$accuntName = '';
$databaseObject = '';
html的form表單各個元素名稱與數據庫字段盡量保持一致。
不要采用缺省方法測試非零值,必須顯式測試,例:
if ( $name_pay_into != false ){
...
}else{
...
}
*盡可能使用單引號''而不是雙引號"",在需要加入變量或是寫sql語句除外。
*php文件中盡可能不出現html語句,如果實在無法解決盡量少用,考慮到模板的兼容性,
html文件中盡可能避免出現php語句。
*通常每個方法只執行一項邏輯動作事務,所以對它們的命名應該清楚的說明它們是做什麼的:
用email_error_check()代替error_check()。
請注意命名不要與系統方法沖突。
3、PHP中各類注釋規范
/**
* 分頁預處理函數
* sql SQL語句
* page 當前頁數
* limit 每頁顯示的數量
* maxs 查詢總數
*/
function limit($sql,$page='0',$limit=10,$maxs=''){ }
//用戶檢測
if( $check_obj->username( $username ) == true ){ … }
$user_name = $_GET[user]; //獲取用戶信息
4、數據庫設計與操作規范
數據庫規范
數據庫名稱應該由概述項目內容的小寫英文名詞組成,以下劃線分隔單詞,
避免跨平台時可能出現的大小寫錯誤。
數據表名稱應該由物件對象名稱的小寫英文名詞組成(盡可能對應系統中的業務類名稱),以下劃線分隔單詞,避免跨平台時可能出現的大小寫錯誤。
數據表的字段應避免使用varchar、text等不定長的類型,時間信息的字段使用int類型存儲。
查詢數據連接多表時各資源應該使用全名稱,即tableName.fieldName,而不是fieldName。
SQL語句應盡可能符合ansi92標准,避免使用特定數據庫對SQL語言的擴充特性。