PHP 的命名風格(Coding Style)
PHP 的學習與使用有蠻常的時間,近期的 PHP 更新使得這個語言融入其他語言的優點,在程式的特性上有些大躍進。近期閱讀 「現代PHP(Modren PHP)」 這本書,有種看完會更新整個使用 PHP 思維的感覺。書中有篇章在說明 PHP-FIG 的 PSR 建議標準,相同的使用規範能夠讓程式開發人員的程式互通性更好,合作性更佳,不再是悶着頭寫程式的時代,讓我們更容易的使用別人的輪子造車子。
其中 PSR-1 對於程式碼的風格有一些基礎的規範,回顧之前不同時期寫的程式,會發現自己在不同的學習階段,會依據當時查詢的風格規範而更改,每次都有一點小小的不同,這次決定記錄下來讓自己參考也與其他人交流。
變數命名
PSR-1 建議標準中,有針對類別、常數等建議命名原則,對於變數的名稱在 PSR-1 的內容中有提到沒有特別制定建議項目,之前觀察不同前輩的建議和查詢幾個有名的框架(Zend、Symfony、Laravel),寫下自己對變數名稱的命名。
- 駝峰式命名法(camelCase),小寫字母開頭,後面每個單字的第一個字母大寫。
- 要使用描述性的命名方式。
- 迴圈變數通常使用:
$i
,$j
,$k
, …等等。 - 存放 session 的變數前面以 sess 開頭。
- 存放 cookie 的變數前面以 coke 開頭。
- 臨時性的變數前面以 tmp 開頭。
$query
和$result
這兩個變數只能用在 SQL 的查詢語法變數與查詢結果變數。- 項目名稱(option)全部使用小寫及使用底線
_
(underscore)分隔。
$defaultOptions = array(
'some_default' => 'values',
'another_default' => 'more values',
);
常數命名
- 常數名稱完全採用大寫英文字母。【PSR-1】
- 必要時使用底線
_
(underscore)來區分單字。【PSR-1】 - 如果內容有可能會改變,應改採用變數而非常數。
類別命名
- 必須使用大寫開頭的駝峰式命名(camelCase),又稱爲 TitleCase。【PSR-1】
- extends 和 implements 關鍵字需和類別名稱在同一行。【PSR-2】
方法命名
- 必須使用小寫開頭的駝峰式命名(camelCase)。【PSR-1】
- 小寫字母開頭,後面每個單字的第一個字母大寫。【PSR-1】
- 當參數的數量多長度超過最大值(80字)時,可以換行處理。換行後其他參數要縮排起始大括弧要在新的一行。【Zend 1】
public function bar($arg1, $arg2, $arg3,
$arg4, $arg5, $arg6)
{
// all contents of function
// must be indented four spaces
}
SQL語法
- 以
$query
變數名稱來存放 SQL 的命令。當發生錯誤時可以容易找出問題的地方。 - 所有 SQL 的關鍵字必須採用大寫英文字母。
- SQL 的寫法要分行,幫助程式碼容易閱讀與了解。
檔案命名
- 檔案名稱完全採用小寫英文字母。
- 字與字之間使用底線
_
連接(EX:show_table.php)。 - 一定要使用
.php
作為副檔名。 - 會被引入的設定內容以
.inc.php
結尾。 - 檔名長度必須小於 32 個字元(符合舊式系統)。
留言