ホリデープログラミング入門

ホリデーにプログラミングを楽しむための入門 by 船木信宏

全体表示

[ リスト ]

PHPのフレームワーク考


PHPのフレームワークはたくさんあります。ログインを必要とするウェブアプリを作るのであればフレームワークを使った方がいいでしょう。僕はフレームワークを使うようなウェブアプリをたくさんは作っていませんが、CakePHP, symfony, Zend Frameworkはそれぞれ仕事でも使ったことがあります。

たくさんあるフレームワークの中からどれを採用するか、自前のものにするか、判断は難しいと思います。ホリデーにプログラミングする上では使わない、という選択肢もあります。

フレームワークを使うデメリットは
・PHPの知識以外に個別のフレームワークの知識が必要
・フレームワーク自体にセキュリティ上の問題がある可能性がある
・プログラミングがルーチン化する

フレームワークの知識を得るまではそれなりに時間がかかります。チームで開発するときは大きな問題です。1つ知っていれば2つ目以降の習得が楽になるのはプログラミング言語と同じですが、それぞれに癖があり好き嫌いも出るでしょう。CakePHPが嫌いな人は何人か見かけました。

ちょっと脱線しますがこの嫌い、という反応は往々にして最も普及しているものに発生するようです。WindowsしかりPHPしかり。PHPもCakePHPも初心者向け、というイメージが強いです。設計思想的に美しくないものが普及するのか普及すると醜くなるのか、初心者向けに設計すると醜くならざるをえないのか、何か法則がありそうな気がしています。

話を戻して、セキュリティ上の問題は、普及していて実績の多いフレームワークの方がリスクが少ないでしょう。マイナーであれば表面化しない可能性もありますが、潜在的なリスクがあるのはよろしくありません。

プログラミングがルーチン化する、というのはフレームワークを使う最大のメリットでもあります。開発効率を上げるのがフレームワークを使う主な目的だからです。効率化の果てには単調作業のつまらなさしか残らないのでこれはこれでプログラマーとしては問題です。

僕はPHP5を使う前提で、Zend Frameworkが今一番手になじんでいます。理由はかなり個人的な感覚ですが、
・フレームワークに支配されたコーディングにならない
・コーディング規約に則って書かれたコードが見やすい

前者はフレームワークに任せたいところだけ任せられる、といったところでしょうか。モジュール化されたZFはウェブアプリ以外にも使えますし、命名規則やModelをフレームワークの流儀に強制されることはなく、設定ファイルもありません。

後者は、PEARのコーディング規約に近いZendのそれに自分が慣れているのが大きいです。

どのフレームワークを使うにせよバージョンアップには気をとめておく必要がありますし、世の中の流行り廃りもあるので他のフレームワークにも目を配っておかねば、といったところです。今回はいくつか新しいフレームワークを見ている中で書きました。

CodeIgniterとその派生でPHP5専用のKohanaが気になりました。CodeIgniterは日本語の情報もかなり充実してきているようです。

閉じる コメント(0)

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

.


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事