今日日の PHP のフレームワークでリクエスト/レスポンスクラスがどのように実装されているか調べたメモ。
- zend-expressive
- zendframework
- symfony
- symfony-httpfoundation (not PSR-7)
- PSR-7 のブリッジもある
- https://github.com/symfony/psr-http-message-bridge
- 相互変換できるだけっぽい
- 変換する先は zend-diactoros
- relayphp
- PSR-7 にしか依存しておらずアプリで実装
- テストには zend-diactoros が使われている
- stackphp
- symfony-httpkernel 経由で symfony-httpfoundation (not PSR-7)
- slim
- laravel
- symfony/http-foundation を継承 (not PSR-7)
- cakephp
- PSR-7 を実装
- ただし zend-diactoros の MessageTrait とかは使っている
- aura
- bear.sunday
- dietcube
- dietcake
- 独自実装 (not PSR-7)
- https://github.com/dietcake/dietcake/blob/v1.1.0/core/param.php
- レスポンスに相当するクラスはない?
- 独自実装 (not PSR-7)
PSR-7 の実装は zend-diactoros がほぼデファクトかと思ってたけど独自に実装されていることもあった(slim とか cake とか)。
社内に書いてたメモからのコピペ。PSR-7/PSR-15 で開発するときに PSR-7 の実装をどうしようかと思って調べたもの。
わりとメジャーなフレームワークで抜けてるものあるけど(Fuelとか)どういう基準で選定したかは・・・忘れた。