PHPのフレームワーク考http://farm4.static.flickr.com/3027/3036850605_35ec2225d2.jpgConcrete on Flickr - Photo Sharing! PHPのフレームワークはたくさんあります。ログインを必要とするウェブアプリを作るのであればフレームワークを使った方がいいでしょう。僕はフレームワークを使うようなウェブアプリをたくさんは作っていませんが、CakePHP, symfony, Zend Frameworkはそれぞれ仕事でも使ったことがあります。 たくさんあるフレームワークの中からどれを採用するか、自前のものにするか、判断は難しいと思います。ホリデーにプログラミングする上では使わない、という選択肢もあります。 フレームワークを使うデメリットは ・PHPの知識以外に個別のフレームワークの知識が必要 ・フレームワーク自体にセキュリティ上の問題がある可能性がある ・プログラミングがルーチン化する フレームワークの知識を得るまではそれなりに時間がかかります。チームで開発するときは大きな問題です。1つ知っていれば2つ目以降の習得が楽になるのはプログラミング言語と同じですが、それぞれに癖があり好き嫌いも出るでしょう。CakePHPが嫌いな人は何人か見かけました。 ちょっと脱線しますがこの嫌い、という反応は往々にして最も普及しているものに発生するようです。WindowsしかりPHPしかり。PHPもCakePHPも初心者向け、というイメージが強いです。設計思想的に美しくないものが普及するのか普及すると醜くなるのか、初心者向けに設計すると醜くならざるをえないのか、何か法則がありそうな気がしています。 話を戻して、セキュリティ上の問題は、普及していて実績の多いフレームワークの方がリスクが少ないでしょう。マイナーであれば表面化しない可能性もありますが、潜在的なリスクがあるのはよろしくありません。 プログラミングがルーチン化する、というのはフレームワークを使う最大のメリットでもあります。開発効率を上げるのがフレームワークを使う主な目的だからです。効率化の果てには単調作業のつまらなさしか残らないのでこれはこれでプログラマーとしては問題です。 僕はPHP5を使う前提で、Zend Frameworkが今一番手になじんでいます。理由はかなり個人的な感覚ですが、 ・フレームワークに支配されたコーディングにならない ・コーディング規約に則って書かれたコードが見やすい 前者はフレームワークに任せたいところだけ任せられる、といったところでしょうか。モジュール化されたZFはウェブアプリ以外にも使えますし、命名規則やModelをフレームワークの流儀に強制されることはなく、設定ファイルもありません。 後者は、PEARのコーディング規約に近いZendのそれに自分が慣れているのが大きいです。 どのフレームワークを使うにせよバージョンアップには気をとめておく必要がありますし、世の中の流行り廃りもあるので他のフレームワークにも目を配っておかねば、といったところです。今回はいくつか新しいフレームワークを見ている中で書きました。 |

- >
- コンピュータとインターネット
- >
- インターネット
- >
- その他インターネット



