網(wǎng)站建設(shè)中的PHP編碼規(guī)范
嚴謹?shù)拇a編寫習(xí)慣將讓用戶受益終生,下面就PHP開發(fā)中一些約定俗成的編碼規(guī)范進行匯總,以方便用戶學(xué)習(xí)。
命名規(guī)范
變量
?全局變量使用$g-開頭,如$g-data-list。
?一般的變量使用小寫字母命名,單詞之間使用下劃線分隔。
?變量名字應(yīng)該使用名詞或者形容詞+名詞的方式。如$value,$new-value。
?不要將在循環(huán)中頻繁使用的臨時變量等用于其他用途,如$i、$j。
常量常量使用大寫字母命名,單詞之間使用下劃線分隔,如DB-HOST。
函數(shù)函數(shù)采用小寫字母命名,單詞之間使用下劃線分隔。函數(shù)的命名建議使用動詞+名詞的方式,如get-user-img。
類類使用英文的大小寫來分隔單詞,包括首個單詞,所有單詞的首字母大寫,如PageManager。在類中,方法放到屬性定義前邊,公用方法放到專用方法前邊;一般情況下,一個類對應(yīng)到一個文件;當(dāng)一些類關(guān)系緊密時,可以存放在一個文件中;存放類的文件采用ClassName.class.php方式命名。
方法
方法使用英文的大小寫來分隔單詞,除首個單詞外,其他單詞的首字母大寫,如getCurrent-Page();不要采用不常用的縮寫,如where2go();使用常用的縮寫時,只大寫首字母,如getHtml()。
版式規(guī)范
語義分隔各個函數(shù)、方法之間應(yīng)該采用空行間隔;同一個函數(shù)中聯(lián)系緊密的語句之間可以不換行,其他情況需要換行。
空格
?邏輯運算符前后必須加空格,例如:$a == $b; //正確$a==$b,$a ==$b; //錯誤$a++; $a–; //正確$a ++; $a –; //錯誤
?加減運算符不能加空格。
?多個參數(shù)分隔時必須加空格,例如:$g_pro, $g_user, g_show; //正確get_db_info($host, $user, $passwd); //正確$g_pro,$g_user,$g_show; //錯誤get_db_info($host,$user,$passwd); //錯誤
?語法關(guān)鍵字后必須加空格,例如:for($i = 0; $i < 10; $i++) //正確for($i = 0; $i < 10; $i++ ) //錯誤
字符串和變量連接字符串與變量連接使用‘.’號時,必須在‘.’前后加空格,使用“”號時,必須在變量前后加“{}”。
例如:$my_name = ‘file_’ . $var1; //正確$my_name = “file_{$var1}”; //正確$my_name = ‘file_’.$var1; //錯誤$my_name = “file_$var1”; //錯誤
圓括號函數(shù)名后括號不需要加空格,語法關(guān)鍵字后的括號必須加空格。例如:for ($i = 0; $i < 10; $i++) //正確strlen($my_name); //正確for($i = 0; $i < 10; $i++ ) //錯誤strlen ($my_name); //錯誤
花括號花括號必須為上下對應(yīng)。例如,下面寫法是正確的。if ($a) { $b = $a;}
數(shù)組定義數(shù)組定義和使用時在key值前后必須加單引號。例如:
?正確
array( 'name' => 'd5s.cn', 'gender' => 'php');
?錯誤
array( name => 'd5s.cn', gender => 'php');
SQL字符串
在PHP中嵌入的SQL語句關(guān)鍵字全部采用大寫;表名和字段名要用反引號(`)引起來以防止因為字段名中包含空格而出現(xiàn)錯誤;數(shù)據(jù)值兩邊用單引號'包括,并且應(yīng)確保數(shù)據(jù)值中的單引號已經(jīng)轉(zhuǎn)義,以防止SQL注入。
例如:$sql = “SELECT `user`.`name` FROM `user` WHERE `id` = ‘$id’”; //正確$sql = “select name.user from name where id = $id”; //錯誤