PHPフレームワーク「FuelPHP」について。CakePHPユーザーからの感想
最近話題のPHPフレームワーク「FuelPHP」を試してみました記念でエントリー。
私は、ずっと素のPHPか、CakePHPを利用してWebアプリやらサイトやらを作っていたわけなのですが、結構重めのサイトを作る機会が増え、さらにGoogleがサイトの表示速度がSEOに影響すると明言したこともあり、Webアプリ・サイト側の軽量化に取り組んでいました。
CakePHPは、1.3から利用していて、2.0になってだいぶパフォーマンスが改善したのですが、それにしてもやっぱり遅くて、速度の改善ばかりに時間をとられ、機能追加できないわ、イライラするわでした。そんな中、いくつかのアプリが、ちょうどリファクタリングの時期かなとも思っていたので、FuelPHPを試してみた次第です。
試してみた感じ:CakePHPからの移行について
CakePHPとは違うなと感じさせられる反面、MVCモデルという基本構造は同じなので、CakePHPで得た理解が役に立ちます。とはいえ、CakePHPで当然だったことが当然じゃなかったりもして、調べるのに時間を食ってしまうこともあります。
下で紹介している書籍2冊を読みつつ、実際に弄ってみて、全体をおぼろげながら理解してみると、「あぁ、そういうことだったんだ」と納得することが多いです。その段階にいたって、改めて考えると、全体として構成が素直だなと感じることが多いです。
素直なのは理解もしやすいですし、実行速度・開発速度の両方に帰依しているということでしょうか。
FuelPHPの簡単な感想
まず速いですね。これがホントに素敵。余計なものが一切ないという印象。まだやっと全体の構成がつかめた程度なので、なんとも言えないところがあるのですが、全体を理解してみた感じ、とても素直な構成で、ところどころ気が利いてるという感じ。
例えば、CakePHPですとアプリ部分(ROOT/App)とリソース部分(ROOT/App/webroot)が一つのディレクトリ下にあり、オープンなサーバーに設置する際には、public_html以下にwebroot、public_htmlと同位もしくは上位ディレクトリにAppフォルダをとするには、いくつかの手順を踏まなければなりません。まぁ、そんなに大変ではないので別にどっちでもいいのですが、FuelPHPは、最初からアプリ部分とリソース部分が分かれていたりします。合理的でシンプルです。
ただ、やっぱりドキュメントの多さや機能の豊富さでは、Cakeに軍配が上がります。これはしょうがないところなのですが、CakePHPにあったCryptable.Behavior的なものが無いのが困ったところです。ormの設定でなんとか簡単に出来ればよいのですが、そこまではまだ試せてない感じです。
FuelPHPの使い所は?
まぁ、まだ堪能してるわけではないのですが、簡単なアプリから中規模アプリなら、CakePHPよりFuelPHPの方が断然いいと思います。なにより速いので、安いサーバーでもストレスなく動くというのがとても良いです。
MVCの使い方についても、CakePHPを使っている時には、最初結構フリーダムな感じで「お前らのMVCはダメだ」的なエントリーを見て考えなおして変えて…みたいなことをしたりもしていましたが、FuelPHPを利用していると、またMVCモデルというものに対して考えるきっかけになりそうです。
参考になったスライド
参考になった書籍
以下の2つの書籍がとても参考になりました。というか、他に書籍あるんでしょうか?
満を持して発売された紙の書籍。入門の名にふさわしくインストールから利用まで、とてもわかり易く書かれている。oilコマンドの使い方なども、書いてある通りやってみて「なるほど」と思えることがあって、FuelPHPの便利さが実感できた。CakePHPのコンソールを全然使ってなかったので、ちゃんと使ってみようと思ったりもした。
ただ、Controller_Templateの使い方が、この本やネットだとよくわからず、下の電子書籍も読んでみた。
上記紙の書籍を読んで、いろいろいじくってからこの電子書籍を読むと、するすると頭に入ってきた。Controller_Templateの所はこっちのほうが記載が豊富で、やっと理解(ちゃんと動作させることが)できた。まぁ、元ソースを読めという話でもあり、ここらへんは楽をしたい私の性分のせい。それ以外の記述も充実しており、購入者限定のメーリングリストなどもあるようなので、気になる方は上記のリンクから「達人出版会」のページへ。(決済はPaypalのみ。)
ディスカッション
ピンバック & トラックバック一覧
[…] >>PHPフレームワーク「FuelPHP」について。CakePHPユーザーからの感想 | Lunarian's Blog Author: […]
[…] フレームワークとしてFuelPHPを利用しています。そこらへんは以前のエントリ(→PHPフレームワーク「FuelPHP」について。CakePHPユーザーからの感想 | Lunarian's Blog)にて記載しています。 […]