PHP 社區(qū)百花齊放,擁有大量的函數(shù)庫、框架和組件。PHP 開發(fā)者通常會在自己的項(xiàng)目中使用若干個外部庫,因此 PHP 代碼遵循(盡可能接近)同一個代碼風(fēng)格就非常重要,這讓開發(fā)者可以輕松地將多個代碼庫整合到自己的項(xiàng)目中。
PHP標(biāo)準(zhǔn)組 提出并發(fā)布了一系列的風(fēng)格建議。其中有部分是關(guān)于代碼風(fēng)格的,即 PSR-0, PSR-1, PSR-2 和 PSR-4。這些推薦只是一些被其他項(xiàng)目所遵循的規(guī)則,如 Drupal, Zend, Symfony, CakePHP, phpBB, AWS SDK, FuelPHP, Lithium 等。你可以把這些規(guī)則用在自己的項(xiàng)目中,或者繼續(xù)使用自己的風(fēng)格。
通常情況下,你應(yīng)該遵循一個已知的標(biāo)準(zhǔn)來編寫 PHP 代碼??赡苁?PSR 的組合或者是 PEAR 或 Zend 編碼準(zhǔn)則中的一個。這代表其他開發(fā)者能夠方便的閱讀和使用你的代碼,并且使用這些組件的應(yīng)用程序可以和其他第三方的組件保持一致。
你可以使用 PHP_CodeSniffer 來檢查代碼是否符合這些準(zhǔn)則,文本編輯器 Sublime Text 的插件也可以提供實(shí)時檢查。
你可以通過以下兩個工具來自動修正你的程序語法,讓它符合標(biāo)準(zhǔn)。 一個是 PHP Coding Standards Fixer,它具有良好的測試。 另外一個工具是 php.tools, 它是 sublime text 的一個非常流行的插件sublime-phpfmt,雖然比較新,但是在性能上有了很大的提高,這意味著實(shí)時的修復(fù)語法會更加的流暢。
你也可以手動運(yùn)行 phpcs 命令:
phpcs -sw --standard=PSR2 file.php
它會顯示出相應(yīng)的錯誤以及如何修正的方法。同樣地,這條命令也可以用在 git hook 中,如果你的分支代碼不符合選擇的代碼標(biāo)準(zhǔn)則無法提交。
所有的變量名稱以及代碼結(jié)構(gòu)建議用英文編寫。注釋可以使用任何語言,只要讓現(xiàn)在以及未來的小伙伴能夠容易閱讀理解即可。