ここでは、PHP で MVC を実装するいくつかの方法を紹介します。まず、MVC とは何かから始めて、コードの形で MVC を実装するための PHP を紹介します。 MVC を使用してプロジェクトを編成することに慣れている人は、新しいプロジェクト構造を選択するように求められたときに、MVC を絶対に諦めないと私は信じています。
従来の対面式の手続き型開発手法は、中規模以上のアプリケーションを扱う場合、その不十分さが見え始めます。たとえ要件をすぐに完了できたとしても、要件が変更された後、または事後メンテナンスを実行する際に、早い段階で構築した罠に深くハマってしまいます。
MVCとは何ですか?
MVC には多くの定義と説明があります。詳細については Wiki または [2] を参照してください。ここでは詳しく説明する予定はありません。PHP 開発の観点から見ると、MVC は次のように要約できます。
View (ビュー) :
ビューというと、多くの人はテンプレート エンジン (Smarty など) を思い浮かべるでしょう。実際には、HTML テンプレートや Javascript ファイルなど、さまざまな出力が含まれます。
モジュール (モデル)
モジュールはプログラムのロジックを表し、通常、エンタープライズ アプリケーションではビジネス ロジック層と呼ばれます。一般に、この層によって行われる作業は、元のデータを処理して、設計したデータ構造に従って保存された意味のあるデータ シーケンスにし、これらのデータを処理のためにビューに渡すことです。通常、モジュール内でデータ操作に関する処理を行うにはデータ抽象クラスが使用されます。
モデルには通常、データベースを処理するために使用される関数が含まれています。
コントローラー
コントローラーは、すべての WEB アプリケーションの最初の停止点であり、$_GET 変数などの受信パラメーターを受け取り、それに応じて応答します。
MVC が PHP に適しているかどうかについても多くの議論があります [3]。現在、PHP MVC フレームワークにリストされているものなど、多くの MVC フレームワークが存在します。では、なぜ人々は MVC にこれほど熱心なのか、また設計で MVC を使用する必要があるのはなぜでしょうか。
MVC を使用する理由?
MVC は、デスクトップ GUI プログラミングの問題を解決するために初めて使用されました。最も初期の MVC フレームワークは、1999 年に Sun によって提案されたモデル 2 であり、その後 Struts に発展しました。 MVC は人々に深い印象を与えますが、私たちはそれを使用するときに、なぜ MVC を使用するのかについて真剣に考えません。
従来のデスクトップ アプリケーションでは、モデルで何かが発生すると、ビュー インターフェイスをアクティブに更新して、バックグラウンドで発生した変更を表示できます。 Web アプリケーションでは、従来の Http リクエスト/レスポンス メソッドに限定されているようで、クライアントを更新させる方法がないようです。この議論は、MVC を WEB アプリケーションの開発に使用できないという意味ではありませんが、ある程度は最適ではないということです。
MVC [1] の使用についてはまだ多くの議論がありますが、MVC を使用して独自のプロジェクトを編成することに慣れているすべての人は、新しいプロジェクト アーキテクチャの選択を求められたときに MVC を決して諦めることはないと私は信じています。
PHP で MVC を実装するにはどうすればよいですか?
以下は非常に単純な MVC 構造の実装です。データ ソースでも組み込みの固定配列が使用されていますが、実際には、多くの PHP フレームワークのコア実装の考え方はこれに似ています。開発者にとって便利なツールをもっと増やしたいと考えています。また、PHP フレームワークの開発からさらに多くの PHP フレームワークを実装することを計画しています。