Zendでも、Symfonyでもなく、CakePHPを選んだ10の理由

C#のコラムをパチってやってみる

理由1 PHP4,5両方対応。
これは、開発者にはありがたい。
個人レベルだと、(お客がすでにサーバを借りていて)バージョンを選びようがない場合がある。
そんなときに、PHP4だったら、ZendもSymfonyも太刀打ちできない。


理由2 PEARに依存してない。
これも、理由1と同じ理由。
どこでも動くという確信を持って作れる。
あと、フレームワーク以外に依存を持つと、
実環境移行時に意外と面倒。


理由3 簡単設定
SymfonyPEARに依存しまくっているので、
コマンドを叩けば、環境ができてしまうが、
CakePHPは解凍すればOK。この手軽さは譲れない。
Zendはフレームワークというより、ライブラリ群なので、
設定だけでも超大変だ。


理由4 モデルがスマート
symfonyYAMLかかにゃならんし、
Zend_DBは事前設定が面倒だし、SQLかかにゃならんのがダメ。


理由5 mod_rewriteが使えなくても大丈夫!
mod_rewriteが使えない環境でも、それらしいURLでアクセスできて、
しっかり挙動を確認できる。
これは、非常にありがたい機能。


理由6 コントローラ引数が素晴らしい
CakePHPでは、getパラメータ引数に関して、
コントローラアクションメソッドに引数を用意しておけば、
引き渡されるという素晴らしい機能がある。
mod_rewriteと併用すれば、
/user/index/userid001
なんてスタティック的なURLがとれるので、
非常に便利。


理由7 エラーが親切過ぎる
コントローラがない、モデルがない、等根本的なエラーに関しては、
最低限必要なコードをエラー画面に表示してくれる。
初心者にはありがたすぎる。


理由8 サニタイズが便利
サニタイズする度に、$this->なんてやってられん。
hでいいのはめちゃ楽。


理由9 日付入力がラクラク
ヘルパ(v1.1系ならHTML, v1.2系ならForm)に日付入力用の出力メソッドがある。
ちょっと手を入れれば、充分使えるので、
ここに手をかけずに済むのは魅力的


理由10 サードパーティ製品との連携のとりやすさ
vendorフォルダに突っ込んで、bootstrap.phpにvendor()を1行書くだけで
どこでも使えるようになる。
大体、フレームワークで面倒なことをやろうとすると、
どうしても、自前スクリプトとかと連携をとるのが当たり前なので、
このあたりをしっかり考えてるCakePHPは最高。



最後に言っておくが、私は、CakePHP以外はちょっと触ったことがある程度で、(特にSymfony)
思いつくことを意外とラフに書いた。 なので間違いがあるかもしれない。(あるよな・・・)
ということで、おい!そんなことねーよ!!
という方は、コメントまで。(なげやりだな おい)