ホームページ  >  記事  >  バックエンド開発  >  PHP での MVC 実装 (1)

PHP での MVC 実装 (1)

WBOY
WBOYオリジナル
2016-06-23 14:32:10903ブラウズ

MVC パターンは Web サイトのアーキテクチャでは非常に一般的です。これにより、3 層アプリケーションを構築できるようになり、有用な層がコードから分離され、設計者と開発者の共同作業が容易になり、既存のアプリケーションを保守および拡張する能力が向上します。

ビュー

「ビュー」とは主に、スクリプトによって生成された HTML など、Web ブラウザーに送信される最終結果を指します。ビューについて話すとき、多くの人はテンプレートを思い浮かべますが、テンプレート ソリューションをビューと呼ぶのが正しいかどうかは疑問です。

おそらく、ビューに関して最も重要なことは、ビューがレンダリングされるときに、ビューの要素がより大きなフレームワーク内での役割を認識していることです。

XML を例に挙げると、XML が解析されるとき、DOM API はそのような知識を持っていると言えます?? DOM ツリー内のノードは、XML がどこにあるか、何が含まれているかを知っています。 (XML ドキュメント内のノードが SAX で解析される場合、そのノードが解析されるときにのみ意味を持ちます。)

テンプレート スキームの大部分は、次のような単純な手続き型言語とテンプレート タグを使用します。

以下はコード スニペットです:

{some_text}


{some_more_text}



これらはドキュメント内では意味がありません。それらは PHP がそれを別のものに置き換えるだけです。


ビューに関するこの大まかな説明に同意する場合は、ほとんどのテンプレート ソリューションがビューとモデルを効果的に分離していないことにも同意することになります。テンプレート タグは、モデルに格納されているものに置き換えられます。

ビューを実装するときは、次のような質問をしてください。「ビュー全体を置き換えるのは簡単ですか?」「新しいビューを実装するのにどのくらい時間がかかりますか?」「ビューの記述言語を置き換えるのは簡単ですか?」例、同じビュー内)HTML文書をSOAP文書に置き換える)"

モデル


モデルはプログラムのロジックを表します。 (エンタープライズレベルのプログラムではビジネス層と呼ばれることが多い)

一般に、モデルのタスクは、元のデータを、ビューによって表示される特定の意味を含むデータに変換することです。通常、モデルは、クエリを実装するための抽象データ クラス (データ アクセス層) を介して、データ クエリをカプセル化します。たとえば、英国の年間降雨量を計算したい場合 (素敵な休暇の場所を見つけるためだけに)、モデルは 10 年間の毎日の降雨量を受け取り、平均を計算し、それをビューに渡します。

コントローラー


簡単に言えば、コントローラーはWebアプリケーションに入るHTTPリクエストによって呼び出される最初の部分です。一部の GET 変数など、受信したリクエストをチェックし、適切なフィードバックを行います。最初のコントローラーを作成するまでは、他の PHP コードを書き始めるのは困難です。最も一般的な使用法は、index.php の switch ステートメントのような構造です。

以下はコード スニペットです: switch ($_GET['viewpage']) {
case "news ":
$page=new NewsRenderer;
ブレーク;
case "リンク":
$page=new LinksRenderer;
ブレーク;
デフォルト:
$page=new HomePageRenderer;
ブレーク;
}
$page->display ();
?>

このコードには手続き型コードとオブジェクト指向コードが混在していますが、小規模なサイトの場合は通常、これが最良の選択です。ただし、上記のコードはまだ最適化できます。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。