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