ホームページ > バックエンド開発 > PHPチュートリアル > MVC フレームワークに関連する問題

MVC フレームワークに関連する問題

WBOY
リリース: 2016-06-13 12:57:43
オリジナル
864 人が閲覧しました

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 操作といくつかの論理操作) を提供します。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート