ttaka/tmp

d.hatena.ne.jp/ttaka_tmp

Sinatra風PHPマイクロフレームワーク5つ

WebアプリケーションのモックやちょっとしたAPIサービスの作成用に、小粒なフレームワークを探してたところ、RubySinatraライクに作られた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ベース

一通りさくっと触ってみたところ、どれもフィルター・テンプレート・ヘルパーを提供し、フレームワークの規模感にあわせて、より機能が追加されてる感じです。
特にSilexLithium as a microframeworkは、元となるフレームワークから必要最低限のコンポーネントを利用して実現している模様。

なお、無名関数が使えたほうが、記述もすっきりするので、PHP5以上で利用できるものでも、5.3以上で使ったほうがオススメです。

さて、この中のどれが良いかですが、どれもドキュメントやサンプルコードが充実(英語ですが……)しているため、それらを眺めてみたり、実際に触ってみたりして、自分に合いそうなのを選ぶのが一番いいかなーと。

なんといっても、どれも学習コストは低く、全部触ってもそれほど時間がかからないのが嬉しいですね!