CakePHP、自分の肌に合わない。
単に自分の感想を述べてるだけなので、CakePHP専用のカテゴリは作りません。以下は生産性0の私的感傷エントリ。
CakePHP今使用&勉強中なんだけど、哲学というか開発者の「楽」の中身の思想的な部分が自分好みじゃない。
Controllerの概念がModelに癒着しすぎ。 $usesがデフォルトだとfalseになってるんだけど(bakeした場合を除く)、気を利かせたのか知らないがそれだと "Missing Model" とかで怒られる。
好みじゃねぇ・・・。
DBを使う使わないはあくまでも開発者の明示的な意志、それに基づく明示的なデータソース呼び出しなどに基づくべきであって、そこをフレームワーク側で「前提」とするのは越権行為。
というのが自分の思想。その点symfonyはぎりぎりセーフで、CakePHPのControllerと同じレベルに位置するsymfonyのmodelという概念ではDB接続は元々関知しない。というか取り扱わない。symfonyはProperlとCreoleを調整してO/Rマッパーを使いやすくしてくれているのだけれど、あくまでも開発者が必要となった時点で、Peerクラスという概念を使うことで明示的にデータベース操作を開始する。ので、別にDBを使わない(・・・例えば独自のファイルストアをするappだったりとか)場合でも、「DBを使わない」というコードを必要としない。またそのための調査とかも不要。単にsymfonyコマンドでdb関連のを使わない・呼ばないだけで良いのだから。
CakePHPは「DBを使わない為にはどうすればよいのか」というのから出発する・・・のは良いのだけれど、それでデフォルトが"Missing Model"になって、あげくそれを解決する為にGoogle先生に聞いたりソースコードを探ったりしなければならない。
まぁ、一回やれば身に付くタイプのノウハウではあるのだけれど。
自分自身、オレオレフレームワークの作り手として{痛い|イタイ}目を見てきてて、その上で、CakePHPは肌に合わない。というか、今やってる開発内容で言えば、肌に合わない。うーん・・・。
symfonyが自分でも驚くほどすんなり自分の中に入ってきたのに対して、CakePHPのこの反発感はいったいなんなのだろうか。