目次

PSR

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標準勧告

原文より抜粋して翻訳 PHP Standards Recommendations) 2020-04-21 現在

PSRワークフロー細則によれば、各PSRには作業中のステータスがあります。提案が参加投票に合格すると、ここに Draft (ドラフト)としてリストされます。 PSRが Accepted (承認)とマークされていない限り、変更される可能性があります。Draft中は大幅に変更される可能性がありますが、レビューにはわずかな変更しかありません。

補足: 認証フローについて

PSRのワークフローは以下のようなステータスがあります:

  1. Pre-Draft(プレドラフト) — 参加投票に合格するとDraftに進みます
  2. Draft(ドラフト) — 準備投票に合格するとReviewに進みます
  3. Review(レビュー) — 承認投票に合格するとAcceptedに進みます
  4. Accepted(承認) — 正式承認され提案(いわゆるPSR勧告となります)

これ以外に次の2つのステータスもあります:

PSRワークフロー細則にも記載されているように、提案の1人または複数の Editor (編集者)は、本質的にPSRの主要な寄稿者および作成者であり、2人の投票メンバーによってサポートされています。これらのメンバーの1人が、レビューと投票を管理を担当する Coordinator (コーディネーター)で、もう1人が2人目のsponsor (スポンサー)です。

番号別インデックス

Noタイトル編集者ステータス原文
0Autoloading Standard
オートローディング規約
Matthew Weier O’PhinneyDeprecatedPSR-0
1Basic Coding Standard
基本コーディング規約
Paul M. JonesAcceptedPSR-1
2Coding Style Guide
コーディングスタイルガイド
Paul M. JonesDeprecatedPSR-2
3Logger Interface
ロガーインターフェイス
Jordi BoggianoAcceptedPSR-3
4Autoloading Standard
オートローディング規約
Paul M. JonesAcceptedPSR-4
5PHPDoc Standard
PHPDoc規約
Chuck BurgessDraftPSR-5
6Caching Interface
キャッシングインターフェイス
Larry GarfieldAcceptedPSR-6
7HTTP Message Interface
HTTPメッセージインターフェイス
Matthew Weier O’PhinneyAcceptedPSR-7
8Huggable Interface
Huggableインターフェース
Larry GarfieldAbandonedPSR-8
9Security Advisories
セキュリティへの助言
Michael HessAbandonedPSR-9
10Security Reporting Process
セキュリティレポートプロセス
Michael HessAbandonedPSR-10
11Container Interface
コンテナインターフェース
Matthieu Napoli, David NégrierAcceptedPSR-11
12Extended Coding Style Guide
拡張コーディングスタイルガイド
Korvin SzantoAcceptedPSR-12
13Hypermedia Links
ハイパーメディアリンク
Larry GarfieldAcceptedPSR-13
14Event Dispatcher
イベントディスパッチャー
Larry GarfieldAcceptedPSR-14
15HTTP Handlers
HTTPハンドラー
Woody GilkAcceptedPSR-15
16Simple Cache
シンプルキャッシュ
Paul DragoonisAcceptedPSR-16
17HTTP Factories
HTTPファクトリー
Woody GilkAcceptedPSR-17
18HTTP Client
HTTPクライアント
Tobias NyholmAcceptedPSR-18
19PHPDoc tags Standard
PHPDocタグ
Chuck BurgessDraftPSR-19