MVC パターンは Web サイトのアーキテクチャでは非常に一般的です。これにより、3 層アプリケーションを構築できるようになり、有用な層がコードから分離され、設計者と開発者の共同作業が容易になり、既存のアプリケーションを保守および拡張する能力が向上します。
ビュー
「ビュー」とは主に、スクリプトによって生成された HTML など、Web ブラウザーに送信される最終結果を指します。ビューについて話すとき、多くの人はテンプレートを思い浮かべますが、テンプレート ソリューションをビューと呼ぶのが正しいかどうかは疑問です。
おそらく、ビューに関して最も重要なことは、ビューがレンダリングされるときに、ビューの要素がより大きなフレームワーク内での役割を認識していることです。
XML を例に挙げると、XML が解析されるとき、DOM API はそのような知識を持っていると言えます?? DOM ツリー内のノードは、XML がどこにあるか、何が含まれているかを知っています。 (XML ドキュメント内のノードが SAX で解析される場合、そのノードが解析されるときにのみ意味を持ちます。)
テンプレート スキームの大部分は、次のような単純な手続き型言語とテンプレート タグを使用します。
{some_text} {some_more_text} |
ビューに関するこの大まかな説明に同意する場合は、ほとんどのテンプレート ソリューションがビューとモデルを効果的に分離していないことにも同意することになります。テンプレート タグは、モデルに格納されているものに置き換えられます。
ビューを実装するときは、次のような質問をしてください。「ビュー全体を置き換えるのは簡単ですか?」「新しいビューを実装するのにどのくらい時間がかかりますか?」「ビューの記述言語を置き換えるのは簡単ですか?」例、同じビュー内)HTML文書をSOAP文書に置き換える)"
モデル
モデルはプログラムのロジックを表します。 (エンタープライズレベルのプログラムではビジネス層と呼ばれることが多い)
一般に、モデルのタスクは、元のデータを、ビューによって表示される特定の意味を含むデータに変換することです。通常、モデルは、クエリを実装するための抽象データ クラス (データ アクセス層) を介して、データ クエリをカプセル化します。たとえば、英国の年間降雨量を計算したい場合 (素敵な休暇の場所を見つけるためだけに)、モデルは 10 年間の毎日の降雨量を受け取り、平均を計算し、それをビューに渡します。
コントローラー
簡単に言えば、コントローラーはWebアプリケーションに入るHTTPリクエストによって呼び出される最初の部分です。一部の GET 変数など、受信したリクエストをチェックし、適切なフィードバックを行います。最初のコントローラーを作成するまでは、他の PHP コードを書き始めるのは困難です。最も一般的な使用法は、index.php の switch ステートメントのような構造です。