MVC フレームワークに関する問題
私は現在 MVC フレームワークを学習しており、V は HTML テンプレートであるビューであることを知っています。 C はコントローラです。ブラウザにルーティング URL を入力し、コントローラ メソッドを呼び出します。しかし、質問があります。データベースを操作するステートメントは M または C に配置する必要がありますか? インターネット上でデータベース操作を C に配置する例をたくさん見ました。これは、 の役割とは何なのか、少し混乱します。ま?
-----解決策---------
M モデル 一般翻訳モデル
ビジネス ロジック、つまり特定のものに対する操作を具体化するために使用されます
Web アプリケーションはデータベースと切り離せないため、データベースはプロジェクトの特性を最もよく反映できます
したがって、データベースの操作は通常 M
として扱われます-----解決策-------------------------- -------
MVC これは大まかな階層化方法であり、それほど厳格である必要はありません。
M はモデル層であり、データベース内の各テーブルを MODEL に変えることができます。
V はビュー レイヤー、つまり HTML として理解できるテンプレート ファイルですが、ビュー レイヤーに使用するテンプレート エンジンによって異なります。
C は制御層です。つまり、ブート ファイルは URL を分解して対応するコントローラーと処理メソッドを見つけ、特定のメソッドで M 層クラスを呼び出します。処理後、特定のビュー レイヤーに移動し、データを入力して、ユーザーのブラウザに送信します。
上で述べたことは比較的単純です。
具体的に作ったときは、M層を2層(実際には1層だけ)に分けて、残りはそのままにしました。
M 層を単純なクラス層とサービス層に分割しました。たとえば、私のデータベースには people テーブルがあります:
私は people をクラスとして作成しましたが、このクラスはテーブル属性の get メソッドと set メソッドのみを提供します。
次に、対応する peopleService クラスがあり、人に対する操作 (主に CRUD 操作といくつかの論理操作) を提供します。