ホームページ > バックエンド開発 > PHPチュートリアル > ThinkPHP3.1 新機能マルチレイヤー MVC サポート_PHP チュートリアル

ThinkPHP3.1 新機能マルチレイヤー MVC サポート_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:24:43
オリジナル
722 人が閲覧しました

1. モデル層: デフォルトのモデル層は Model クラスで構成されますが、プロジェクトの増大とビジネス システムの複雑化に伴い、単一のモデル層で複数の要件を満たすことが困難になります。レイヤー モデルは 3.1 から開始されました。設計の考え方は非常にシンプルです。さまざまなモデル レイヤーは引き続きシステムの Model クラスを継承しますが、たとえば、特定のプロジェクト設計では、それらはディレクトリ構造と命名規則で区別されます。データ層、ロジック層、サービス層を区別するには、プロジェクトの Lib ディレクトリの下に Model、Logic、Service ディレクトリを作成し、ユーザー テーブル上のすべてのモデル操作を 3 つの層に分割します。

データレイヤー: モデル/ユーザーモデルは、データ関連の自動検証、自動完了、およびデータアクセスインターフェイスを定義するために使用されます
ロジック層: ロジック/ユーザーロジックは、ユーザー関連のビジネスロジックを定義するために使用されます
サービス層: Service/UserServiceは、ユーザー関連のサービスインターフェースなどを定義するために使用されます
これら 3 つのモデル操作クラスはすべて Model クラスを継承できるため、ユーザー データの操作を非常に明確に呼び出すことができ、組み込みの D メソッドを使用して簡単に呼び出すこともできます。
リーリー

モデルレイヤーの階層分割は非常に柔軟であり、開発者はプロジェクトのニーズに応じて階層を自由に定義できます。

2. ビュー レイヤー:

テンプレートとテンプレート エンジンで構成されます。テンプレート エンジンの設計については、ドライバーを通じてサポートすることもできます。ビューの複数のレイヤーは、ディレクトリによって簡単に区別できます。例: リーリー

3. コントローラー層:

ThinkPHP のコントローラー層は、システム内の App クラスによって完成され、HTTP リクエストを含むアプリケーションのスケジュール制御を担当します。インターセプトと転送、設定のロードなど、ビジネス コントローラーはユーザー定義の Action クラスによって完了します。バージョン 3.1 では、マルチレイヤー サービス コントローラーのサポートが追加されました。実装原理は、ビジネス コントローラーやイベント コントローラーなどのモデルの階層化に似ています。 リーリー

UserAction は外部インタラクション応答を担当し、http://serverName/User/index などの URL リクエストを通じて応答します。一方、UserEvent は内部イベント応答を担当し、内部でのみ呼び出すことができます

リーリー

外界から隔離されているんですね。マルチレイヤーコントローラーの分割は必須ではなく、プロジェクトのニーズに応じて自由に階層化できます。コントローラー層では、必要に応じて階層化モデルを呼び出すことも、別のディレクトリのビュー テンプレートを呼び出すこともできます。
同時に、R メソッドはマルチレイヤー コントローラーの呼び出しもサポートできます。例:

のように、コントローラーのレイヤー名を表す 3 番目のパラメーターが追加されます。
リーリー

は、UserEvent コントローラーの register メソッドを呼び出し、パラメーター 15 を渡すことを意味します。
MVC の 3 つの層では、

ThinkPHP は M または V に依存しません。
C のみまたは V のみを使用することもできます。これは、ThinkPHP 設計において非常に重要なユーザー エクスペリエンス設計です。 ユーザーは C を使用せずにビューを定義するだけで済みます。 , 状況を自動的に認識することもできます。

http://www.bkjia.com/PHPjc/825375.html

tru​​ehttp://www.bkjia.com/PHPjc/825375.html技術記事 1. モデル層: デフォルトのモデル層は Model クラスで構成されますが、プロジェクトが成長し、ビジネス システムが複雑になるにつれて、3.1 以降は単一のモデル層で要件を満たすことが困難になります。 .
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート