關於 PHP FIG Group 所制定的 PSR-0, PSR-1, PSR-2

上禮拜寫了一篇 寫出好維護的 PHP 程式碼,看到 gslin 大神回應了一篇 關於可維護的 PHP 專案:PHP-FIG 的 PSR-0、PSR-1、PSR-2,其實我已經關注 PHP FIG 有一陣子了,FIG 所定義的三份文件 PSR-0 (Auto loading Standard), PSR-1 (Basic Coding Standard), PSR-2 (Coding Style Standard) 寫的非常清楚,目的就是讓 PHP Open Source 專案有共同的 Coding Standard,方便大家共同開發。所以上禮拜提到的投影片內容有大部份參考了這份文件,裏面的內容比較不同的地方就差於 Control Structures 部份,舉個簡單例子: 寫 if 條件式,網路上只有兩種寫法 <?php if ($a == $b) { …… }[/code]

另外一種寫法

[code lang=“php”]<?php if ($a == $b) { …… }[/code]

原先我提供的 coding style 是上述第2種,這寫法在一些 open source 專案也是這樣寫,例如

phpBB, CodeIgniter, FuelPHP … 等,但是後來我仔細想想,還是按照 PHP FIG 的 Coding Style 會比較適合,也偏向大部份專案的寫法。底下是更新好的投影片,歡迎大家參考。

Maintainable PHP Source Code from Bo-Yi Wu

See also