WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

PSRの概要

      2015/07/23

PSRとは

PHP-FIG(PHP Framework Interop Group)というPHPのフレームワークやライブラリの開発者のグループがあって、そのグループが各フレームワークやライブラリの規約の共通点をまとめ、新しい規約を策定しています。
その規約がPSRです。

PHP-FIG

今後、PHPでの開発ではPSRがデファクトになっていくと思われます。
様々なフレームワークの規約にもPSRをサポートする旨の記載が見られます。

Laravel follows the PSR-4 and PSR-1 coding standards. In addition to these standards, the following coding standards should be followed:

Contribution Guide – Laravel – The PHP Framework For Web Artisans

PSR-0〜PSR-7

PSRには規約が何種類かあって、それぞれ適用するレイヤーが異なっている。

規約 概要
PSR-0
Autoloading Standard
オートロードに関する規約
PSR-1
Basic Coding Standard
コーディング規約
PSR-2
Coding Style Guide
コーディング規約。PSR-1を拡張したもの。
PSR-3
Logger Interface
ロギングに関する規約
PSR-4
Autoloader
オートロードに関する規約。PSR-0の改良型。
PSR-7
HTTP message interfaces
HTTPに関する規約。

このうちコーディングに関する規約はPRS-1とPRS-2。
PSR-1はStandardという表記になってるがPSR-2ではGuideとなっている。

PRS-2までは和訳してくれている人がいる。

PSR-0, 1, 2を日本語に翻訳してみました | 株式会社インフィニットループ技術ブログ

まとめ

利用しているフレームワークが規約を備えている場合は従い、規約がない部分についてはPSR-2に準拠。
ただし、PSR-2もあらゆる開発シーンでの規約を網羅しているわけではないので、開発チーム内での決めの問題は発生すると思う。

 - PHP , ,