Sinatra風PHPマイクロフレームワーク5つ
WebアプリケーションのモックやちょっとしたAPIサービスの作成用に、小粒なフレームワークを探してたところ、RubyのSinatraライクに作られたPHPマイクロフレームワークをまとめてあるスライドを発見!
http://johnsonpage.org/more/php-microframeworks/
同じアプリをそれぞれのフレームワークで記述した際のコードも記載されているので、比較しやすくて素敵な資料ですね。
ただ、作成日は2010年12月1日時点のようなので、2011年4月28日現在の状況を加味して、表にしてみました。
PHP Ver. | Document | Test | Latest Ver. | License | Size | 備考 | |
---|---|---|---|---|---|---|---|
Slim | 5+ | ○ | ○ | 1.3.3 | MIT | 小 | |
Limonade | 5+ | ○ | ○ | 0.5.1 | MIT | 小 | |
Fitzgerald | 5+ | △ | × | 0.3 | MIT | 極小 | 1ファイル |
Silex | 5.3+ | ○ | ○ | 7438550 2011-04-26 13:14:06 +0200 | MIT | 中 | Symfony2ベース |
Lithium as a microframework | 5.3+ | ○ | ○ | 0.9.9 | MIT | 中 | Lithiumベース |
一通りさくっと触ってみたところ、どれもフィルター・テンプレート・ヘルパーを提供し、フレームワークの規模感にあわせて、より機能が追加されてる感じです。
特にSilexとLithium as a microframeworkは、元となるフレームワークから必要最低限のコンポーネントを利用して実現している模様。
なお、無名関数が使えたほうが、記述もすっきりするので、PHP5以上で利用できるものでも、5.3以上で使ったほうがオススメです。
さて、この中のどれが良いかですが、どれもドキュメントやサンプルコードが充実(英語ですが……)しているため、それらを眺めてみたり、実際に触ってみたりして、自分に合いそうなのを選ぶのが一番いいかなーと。
なんといっても、どれも学習コストは低く、全部触ってもそれほど時間がかからないのが嬉しいですね!