今日闇PHP行ってきました
エクステンションのコードとかは流石にきついですが、PHP7のASTの解説はとてもわかり易かったように思えます
引数や返り値のタイプヒンティングがなんで急にやり始めたのかとかも、ようやくわかりました
まあ、闇の話は後でスライドが上がるんじゃないかと思うのでこの辺で
で、その闇PHPの中で、「PSR-7」というフレーズが出てきたのですよ
7て...私が知ってるのはPSR-4までなんですが、そんなにあるのか?と思ったので、ちょいと確かめてやろうと思った次第です
意外と多かった!
確かめるって言ったって、公式見に行くだけなんですがね!
https://github.com/php-fig/fig-standards/blob/master/index.md
http://www.php-fig.org/psr/
でこれを一覧にすると、以下の様な感じになるんですよ
番号 | 概要 | 状態 |
---|---|---|
0 | オートロードの標準記法(現在は非推奨) | 非推奨 |
1 | 基本的な記述法(クラスやメソッドの命名規則など) | 採択 |
2 | 1を前提とした具体的なコードの書き方 | 採択 |
3 | ログのルール(インターフェース付き) | 採択 |
4 | オートロードの標準記法(PSR-0の上位互換) | 採択 |
5 | PHPDoc(ドキュメンター用のコメントの書き方 | 草稿 |
6 | キャッシュの持ち方 | 採択 |
7 | HTTP通信のインターフェース | 採択 |
8 | こんなコードは抱きしめたい!(なにそれ。。。) | 草稿 |
9 | セキュリティの情報公開のフォーマット | 草稿 |
10 | セキュリティ情報への提言集 | 議論中 |
11 | DIコンテナの標準化 | 草稿 |
12 | PSR-1,2を拡張して新しいコーディングスタイルを! | 草稿 |
13 | リンクの定義 | 草稿 |
14 | イベントマネージャの定義 | 草稿 |
多くね!?
ま、まあ、PSRは、PHP Standard Recommendation、つまり、提案とか推奨なので、コーディングスタイルに関わらずいろいろ出てくるんだろうが。。。
PSR-9はPSR-10のフォーマットだし、PSR-10なんて、ドキュメントじゃなくてGithub issue だしで、いろいろ自由すぎる
ピックアップ
PSR-8 抱きしめたいインターフェース
妙なインターフェースとともに提案された「抱きしめられる」インターフェース
めっちゃ深読みすると、プロジェクト横断的に採用されるインターフェースとは、という意図を持ちたかったのかもと思ったけど。。。
コミット日が 2014/4/1 つまり、エイプリルフール。。。
ジョークで8番潰したんか。。。
PSR-12 新コーディングスタイル
PSR-2 が古いってので、スタイルを更新しようってやつだけど、
PSR-2 を更新するんじゃなくて、新しい番号をふるのね
PSR-0に対するPSR-4みたいな感じか
まとめ
というわけで、PSRは結構いっぱいあったっていう話でした
参考
※PSR-7を間違って草稿と書いていたので、修正しました