— y2sunlight 2020-04-21
PSR(PHP Standards Recommendations)は「PHP標準勧告」などと呼ばれており、PHP-FIG(PHP Framework Interop Group)が策定しているPHPのコーディング規約並びに標準インターフェース規格です。本編のフレームワーク編では何かとPSRを参考にしておりますので、この際、正確に勉強しようと思い本章を作ることにしました。ソフトウエア界には標準とか規約と呼ばれるものが多く存在し、従うか否かは自由なのですが、PSRについてはPHPエンジニアとして大いに参考になる思います。
本章は、若干の補足を加筆してはいるものの単にPSRのサイトを日本語に翻訳したものに過ぎません。英語が堪能な方は原文をご参照下さい。翻訳に当たっては、基本的に機械翻訳を使い、理解できない部分は独断で意訳しております。拙い訳では御座いますが恥を忍んで投稿しておりますので、ご指摘など御座いましたらコメントを頂ければ幸いです。
尚、PSR関連の投稿は本章作成時点のステータースがACCEPTED(承認)及びDraft(草稿)なものを対象としています。初回はPSR6までを予定しおり、逐次追加してPSR19までを投稿する予定です。
リンク
— 原文より抜粋して翻訳 PHP Standards Recommendations) 2020-04-21 現在
PSRワークフロー細則によれば、各PSRには作業中のステータスがあります。提案が参加投票に合格すると、ここに Draft
(ドラフト)としてリストされます。 PSRが Accepted
(承認)とマークされていない限り、変更される可能性があります。Draft中は大幅に変更される可能性がありますが、レビューにはわずかな変更しかありません。
PSRのワークフローは以下のようなステータスがあります:
Pre-Draft
(プレドラフト) — 参加投票に合格するとDraftに進みますDraft
(ドラフト) — 準備投票に合格するとReviewに進みますReview
(レビュー) — 承認投票に合格するとAcceptedに進みますAccepted
(承認) — 正式承認され提案(いわゆるPSR勧告となります)これ以外に次の2つのステータスもあります:
Deprecated
(非推奨) — 承認されが不要になった提案(通常新バージョンに変わった提案)Abandoned
(放棄) — 積極的な議論がなく放棄されれた提案
PSRワークフロー細則にも記載されているように、提案の1人または複数の Editor
(編集者)は、本質的にPSRの主要な寄稿者および作成者であり、2人の投票メンバーによってサポートされています。これらのメンバーの1人が、レビューと投票を管理を担当する Coordinator
(コーディネーター)で、もう1人が2人目のsponsor
(スポンサー)です。
No | タイトル | 編集者 | ステータス | 原文 |
---|---|---|---|---|
0 | Autoloading Standard オートローディング規約 | Matthew Weier O’Phinney | Deprecated | PSR-0 |
1 | Basic Coding Standard 基本コーディング規約 | Paul M. Jones | Accepted | PSR-1 |
2 | Coding Style Guide コーディングスタイルガイド | Paul M. Jones | Deprecated | PSR-2 |
3 | Logger Interface ロガーインターフェイス | Jordi Boggiano | Accepted | PSR-3 |
4 | Autoloading Standard オートローディング規約 | Paul M. Jones | Accepted | PSR-4 |
5 | PHPDoc Standard PHPDoc規約 | Chuck Burgess | Draft | PSR-5 |
6 | Caching Interface キャッシングインターフェイス | Larry Garfield | Accepted | PSR-6 |
7 | HTTP Message Interface HTTPメッセージインターフェイス | Matthew Weier O’Phinney | Accepted | PSR-7 |
8 | Huggable Interface Huggableインターフェース | Larry Garfield | Abandoned | PSR-8 |
9 | Security Advisories セキュリティへの助言 | Michael Hess | Abandoned | PSR-9 |
10 | Security Reporting Process セキュリティレポートプロセス | Michael Hess | Abandoned | PSR-10 |
11 | Container Interface コンテナインターフェース | Matthieu Napoli, David Négrier | Accepted | PSR-11 |
12 | Extended Coding Style Guide 拡張コーディングスタイルガイド | Korvin Szanto | Accepted | PSR-12 |
13 | Hypermedia Links ハイパーメディアリンク | Larry Garfield | Accepted | PSR-13 |
14 | Event Dispatcher イベントディスパッチャー | Larry Garfield | Accepted | PSR-14 |
15 | HTTP Handlers HTTPハンドラー | Woody Gilk | Accepted | PSR-15 |
16 | Simple Cache シンプルキャッシュ | Paul Dragoonis | Accepted | PSR-16 |
17 | HTTP Factories HTTPファクトリー | Woody Gilk | Accepted | PSR-17 |
18 | HTTP Client HTTPクライアント | Tobias Nyholm | Accepted | PSR-18 |
19 | PHPDoc tags Standard PHPDocタグ | Chuck Burgess | Draft | PSR-19 |