ホームページ  >  記事  >  バックエンド開発  >  [PHP]MVC アーキテクチャ パターンの分析と設計

[PHP]MVC アーキテクチャ パターンの分析と設計

WBOY
WBOYオリジナル
2016-06-23 13:07:261100ブラウズ

さまざまな専門知識を持つ人が業務を遂行できるように、各機能層を差別化して開発する方がよいため、多くの開発者の努力により、国内の有名な PHP フレームワークには Yii2 が含まれています。 Yii ThinkPHP や Laravel などの他の有名な海外の PHP フレームワークと同様に、これらのフレームワークはすべて MVC モデルに基づいて開発されています

簡単に言えば、View はプレゼンテーション層であり、一部の HTML 形式、XML 形式などの役割を果たすことができます。プレゼンテーション層のテンプレート、Model はモデル層、特定のビジネス ロジックなどはすべてモデル内で完成します。コントローラーはコントローラー層であり、どのモデルとどのプレゼンテーション層を選択します。たとえば、コントローラーはリモコンのようなもの、ビューはテレビ画面のようなもの、モデルはテレビ番組のようなものです。適切な場所ではありません

MVC ワークフロー

ステップ 1 ビューアー -> コントローラーを呼び出し、それに指示を出します

ステップ 2 コントローラー -> 指示に従って適切なモデルを選択します

第三のステップ モデル ->コントローラーのコマンドに従って、対応するデータを取得します

4 番目のステップのコントローラー -> コマンドに従って、対応するビューを選択します

5 番目のステップのビュー -> ユーザーが望むように、3 番目のステップで取得したデータを配置します表示

このマイクロ MVC フレームワークの確立の概要

MVC 全体には、クラス ライブラリ (libs)、関数ライブラリ (function)、およびスタートアップ エンジン (pc.php) の 2 つのフォルダーと 2 つのファイルが含まれていますそして、必要なファイル

このマイクロ MVC フレームワークの特定の実装

関数フォルダー

一部の関数は、このフォルダーに格納されます。これらの関数のサイズは、クラスではなく関数にのみカプセル化できます。 。たとえば、コントローラー、モデル、ビューを単純に呼び出してインスタンス化するためのメソッドがいくつか含まれています (Mysql は一連の操作に対応し、クラスにカプセル化できるため、Mysql クラスとは異なります)

これら 3 つのメソッドを記述する場合、コントローラー メソッドパラメーターは 2 つ存在できますが、モデルとビューに対応するパラメーター ピットは 1 つだけです

Mysql の一連の操作をクラスにカプセル化できる理由は、一連の操作がオブジェクトに対応しており、単純であるためです。呼び出しとインスタンス コントローラー、モデル、ビューのメソッドを統合してクラスに記述する場合、それらのオブジェクトを一意にすることはできないため、単にコントローラー、モデル、ビューを呼び出してインスタンス化するメソッドを統合してクラスに記述することはできません。

libs フォルダー

このマイクロフレームワークのライブラリ ファイルには、次のような

コア ライブラリ

クラス ファイルが含まれており、これらは直接呼び出すことができ、実際の開発に使用する必要があります。

1.ここでのデータベース クラスとデータベース ライブラリは異なります。データベース ライブラリには、特定のデータベースの特定の操作メソッドが格納されます。データベース クラスの 2 つのパラメータのうちの 1 つは、データベース クラスの 1 つであるデータベース タイプです。データベースクラスは、特定のデータベースを操作するために使用されます)

2. View クラス (このクラスは、View レイヤーのオブジェクトを初期化して呼び出すために使用されます。このフレームワークでは、このクラスの初期化メソッドに渡す必要があるパラメーターです)は、Smaty と Smarty の設定ファイルです)

  • データベース ライブラリ

    mysql、mysqli、pdo、 etc.

    ビューライブラリ

    ここではSmartyサードパーティが直接使用されています。クラスライブラリ、Smartyはビューエンジンであり、テンプレートファイル(またはHTMLファイル)をコンパイルして表示できるSmartyの表示メソッドに組み込まれています。それをビュー層に入れます
  • include.list.php

    pc.php
  • pc.php はスタートアップエンジンプログラムであり、このプログラムではデータベースクラスとビュークラスがそれぞれ初期化され、コントローラーとメソッドは静的です。変数は、これら 2 つの静的変数を通じてインスタンス化され、コントローラーを呼び出します。これは、コントローラーを呼び出してそれに指示を発行する MVC ワークフローの最初のステップに相当します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。