
MVC でモデルを構造化する方法
Model-View-Controller (MVC) フレームワークでは、モデル コンポーネントによって、その適切な構造と責任について疑問が生じることがよくあります。これらの懸念に対処するために、MVC のモデルの性質と目的を調べてみましょう。
モデルとは何なのか
-
クラスでも単一のオブジェクトでもありません:モデルは特定のクラスやオブジェクトではありません。これは、さまざまな構造で構成されるレイヤーを表します。
-
ORM またはデータベース抽象化ではありません: モデルは、単なるオブジェクト リレーショナル マッピング (ORM) またはデータベース抽象化レイヤーではありません。
モデルとは
MVC では、モデル層は 3 つの主要な要素で構成されます構造:
-
ドメイン オブジェクト: ビジネス ロジックとルールをカプセル化した、ドメイン固有の情報の論理コンテナ。
-
データ マッパー: 責任者データの保存と取得を管理するため (たとえば、データベース。
-
サービス: ドメイン オブジェクトとデータ マッパー間の通信を促進し、ビジネス ロジックへの上位レベルのインターフェイスを提供します。
モデルとの対話
モデル層を利用するために、ユーザー インターフェイス (UI) コンポーネント (ビューとコントローラー) は依存関係注入テクニックを利用して、必要なサービス。
モデルの状態の変更
コントローラーは仲介者として機能し、ユーザー入力を受け取り、サービス メソッドを通じてモデルの状態への変更を開始します。
モデルの状態の提示
ビューは、モデルの現在の状態をビューに表示する責任があります。 user.
モデルの構築
モノリシックな「モデル」クラスの作成に焦点を当てる代わりに、MVC ではサービス、ドメイン オブジェクト、およびデータ マッパーの構築が必要です。
追加観察
-
データベース テーブルとモデル: モデル構造は次のことを行います。必ずしもデータベース テーブルに直接対応しているわけではありません。
-
ビューとテンプレート: ビューは、単にテンプレートを表示するだけでなく、プレゼンテーション ロジックを処理します。
-
ビューとコントローラー間の関係: MVC は、ビューとコントローラー間の 1 対 1 の関係を暗示し、各ペアは特定のページまたは機能。
以上がMVC フレームワークでモデルをどのように構造化する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。