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