5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MVCモデルについて

Last updated at Posted at 2023-12-22

MVCモデルとは

プログラムの役割を
・Model
・View
・Controller
の3つに分ける考え方です。


Controllerとは

ユーザからリクエストを受けてレスポンスを返す役割です。

Viewとは

画面表示(HTML)を担当する役割です。

Modelとは

DB関連の処理を担当する役割です。


-処理の流れ-

例:特定のブログ記事1件を表示するリクエストが送られてきた場合

ブラウザから記事を閲覧したい[http://xxx/blogs/1]とリクエストが送られてきました。
※blogs/1なのでid=1になります。

Routerというところが呼び出されます(RouterはControllerを呼び出す役割)。

「ブログ記事1件を表示したい」とリクエストされたため、RouterはControllerの中のblogsContorollerというクラスを呼び出します。

今回は「ブログ記事1件を表示したい」とリクエストを受けたためshowアクションが呼び出されます。
※Controllerはblogの情報を
・投稿したいのか(new)
・表示したいのか(show)
などによって取るべきアクションが変わります。

Controllerはid=1の情報をくださいとModelに依頼します。

Modelはid=1の情報をDBから取得してきます。

DBで取得してきた情報をControllerに返します。

ControllerはModelから渡された情報をもとに処理をし、Viewに渡したい情報をインスタンス変数に代入します。

Viewは渡されたインスタンス変数をもとに画面に表示するHTMLを作成してControllerに返します。

Controllerは受け取ったHTMLをレスポンスとしてブラウザに返します。

※MVCは3つの役割を表しているだけで全ての処理がこの3つに該当するわけではありません。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?