2007-08-29

そのケーキて美味しいの?

最近、cakephpというphpのフレームワークと戯れている。元々、phpのフレームワークには興味があったのだが、フレームワークを使う理由というのが今ひとつなかった。使う理由はなかったが、自分の中で「フレームワークを使うべきでない理由」というのは存在していた。「フレームワークを使うべきでない理由」というのはフレームワークを使いだすと、フレームワークにべったりになってしまい、結果としてphpプログラミングの本質やフレームワークを使えない環境での仕事ができなくなるのではないかという危惧があった。とくにapache httpdのmod_rewriteを使うようなフレームワークでは、サーバ側でmod_rewriteに対応していなかったり、mod_rewriteを嫌う人間が管理しているサーバなどもあため、この手のフレームワークに手を出すことに躊躇していた。 今回、流行のAjaxで遊んでみる必要が出たため、極力javascriptを書かないですむフレームワークのcakephpを試してみた。cakephpもmod_rewriteを使ったり、独特なコーディングスタイルを取るため、あんまり気はすすまなかったが、ajaxへの対応やMVCモデルでのコーディングを勉強するためにもcakephpを選択してみた。他にはsymphonyやakelosなどのフレームワークがあったが、なんとなくcakephpを選んだというのが実情だ。 結果としては以下の点でcakephpを気に入ってしまった。
  • SQL文を書かなくてすむ
  • データベースのアソシエーションが強力
  • 内部のデータ管理が配列
とくに、配列でデータ管理をしているのが自分的にヒット。元々、自分のコーディングスタイルが配列を多用していたということもあり、cakephpのコーディングスタイルを比較的すんなりと受け入れることができた。あと、インチキオブジェクト指向なところも好き。いまいちオブジェクト指向プログラミングとラブラブになれないので、これを機にまともなオブジェクト指向を勉強しようと思いました。 対して、cakephpへの不満点は以下のとおり。
  • ドキュメントが少ない
  • 時々、意図しないSQL文が発行されている
日本語のドキュメントが少ない気がする。特にcakephpのドキュメント和訳が古い気がする。まぁ、英語のドキュメントやAPIリファレンスを読めばすんじゃうことなんだけどね。あと、データベースのアソシエーションの関係で意図していないSQL文が時々発行されている。とりあえず、unbindModelとかで気付いたところは修正しているけど、コード全体を常に頭に入れて、どのデータが欲しいのかを気にしながらコードを書く必要があるみたい。 とりあえず、今はcakephpには好印象。このケーキは美味しいです。cakephpを理解するためにwebアプリを書いているけど、フレームワークなしで作るよりも時間は短縮できている感じ。機会をみてTipsとかもこのblogに挙げていくようにしよう。

0 件のコメント: