僕が Zend Framework 使い続ける 8 の理由

便乗してみる。
Zendでも、Symfonyでもなく、CakePHPを選んだ10の理由 - 個人事業主のつぶやき
僕がsymfonyを使い続ける10の理由 - ゆっくり*ゆっくり
僕が Ethna を使い続ける8つの理由 - 肉とビールとパンケーキ by @sotarok
http://blog.riaf.jp/post/357698114/rhaco-7

先に言っておくと、好きなものを使えばいいと思うけど、FUDっぽいことは建設的ではないし、しないほうがいいと思うんですよ。

僕がsymfonyを使い続ける10の理由 - ゆっくり*ゆっくり

同意。他のフレームワークHello world くらしか出した事がないのでよくわかんない。
rhaco2 は Openpear のソースとか、id:riaf さんのサンプルのソースが参考になるので機会があれば触りたい。
あとそれぞれのフレームワークを作ってる人達・使いこなしている人達には凄く敬意を持ってる。

理由1: PHP5 のみに対応

PHP4 は一回だけしか触った事がないゆとりです。
例外使いたいし、メソッドチェーンしたい。

理由2: ライブラリである

フルスタックでない所が素晴らしい。
好きな OR マッパ使えばいいし、好きなテンプレートエンジンを使えばいい。
SQL を直書きしたい場合は、Zend_Db の抽象レイヤーを使えばいい。
use-at-will で好きに決められる。

理由3: 標準のコーディング規約がある

自分で迷う事がない。チームでやる場合は「規約読んどいて」で済む。

理由4: 他のライブラリと共存できる

PEAR ライブラリも使えるし、Openpear で面白そうなのも組込められる。

理由5: 拡張性がまあ高い

一部依存している所もあるけど、基本疎結合
自分で好きにオーバーライドするなり、合ってないのなら他のライブラリを使えばいい。

理由6: バリデーションが独立したライブラリになってる

好きな場所で好きにバリデーション(ライブラリ)を呼びたい。

理由7: 好きな構成に出来る

ディレクトリ構成もある程度好きにできる。
例えば自分はコントローラだけは modules の下に入れて、models, services, views の各ディレクトリはルートの下にある。

理由8: インストールが簡単

Include_Path に置くだけ。
あと個人的にジェネレータはあまり好きじゃない。
# ジェネレータを使いたければジェネレータも用意されている。


なんか他にもありそうだけど、こんな感じ。
# 10 もないや w


じゃあ逆にいけてない所は?と聞かれると正直ある。
例えば、同じ事を何度も書かないといけないと良く言われるが(他のフレームワークはどうなってるのか知らない)、実案件で一回使ってみた感想は確かに同じ事を思った。
ただし、そこは自分で糊(グルー)となる部分を作れば良いと思う。
自分でフレームワークをスクラッチで一から作るのはしんどいけど、ベースを Zend Framework で作って上の部分は好きにするというやり方が好きな人には合ってると思う。
好きに調教して自分好みにするという感じw
自分の理想はディスパッチャー、ルーター、コントローラの連携の所をフレームワークとして使って、その他はフレームワークに依存しない形にしたい。


とりあえず最初から良い感じで機能がそろっていて、短期案件だからサクっと作りたいというのなら、他のフレームワークの方がお勧め。
# Symfony も一度は実案件で使ってみたい


結局は薄いフレームワークが好きという事ですかね。
なので、Pylons には凄く興味があるけどあまり使われてないのかな…。