少し前から、いい加減古典的な機能分割による構造化設計、 構造化プログラミングからMVCフレームワーク等を導入してオブジェクト指向開発に移行しよう!と言う話がちらほら出ていましたが、 このたびとうとうフレームワークを導入することに決定されました。
で、問題なのが「どの」フレームワークを利用するか・・・PHPのフレームワークに限定しても、Mojavi、Agavi、 Symfony、Maple、Ethna、Zend Framework、PRADO、CakePHP、guesswork classic・・・とあげればきりがないほどあります・・・
で、ここ1週間ほど時間をみつけて色々調べ(まあ、おもにWebですがw)悩んだ結果絞り込んだのか・・・「Maple」、
「Ethna」、「Symfony」の3つです。
「Maple」と「Ethna」はスタンダードなMVCモデルを採用しており、モデル自体がわかりやすく、
また国産フレームワークのため日本語ドキュメントが割合豊富という理由で候補に。「Symfony」はAfter
RoRにふさわしく非常に高機能と言う理由で候補に挙がりました。
で、ここからとりあえず1つ選ぶのにこれまた迷ったのですが・・・
Ethna
を導入することにしました。
理由としては、
・「使いやすく、運用しやすい用にうまい落としどころで実装されている」(曰く「絶妙な妥協」だそうです)
・「Ethnaだからできない、と言うことはほとんど無い拡張性」
と言う謳い文句を信じてみた(笑)。と、
・利用するのに必要な学習コストが低そう(これ重要、十分な時間が確保されているわけではないのでw)
・GREEをはじめ導入実績も豊富
です。
ただ1つまだ問題が・・・基本的にUTF-8で開発する予定だったのだが、Ethnaの内部文字コードはEUC-JPのようだ・・・
まあ、なんとかなるでしょ(笑)
追記:参考リンク
http://phpspot.org/blog/archives/2006/01/php_30.html
http://wiki.ohgaki.net/index.php?PHP%2F%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF
http://develop.ddo.jp/new-tech/php/framework
http://codezine.jp/a/article/aid/704.aspx?p=1
http://symfony.jp/index.php?FrontPage
http://develop.ddo.jp/symfony/book/jp/1.0/
http://ethna.jp/ethna.html
http://kunit.jp/maple/