2
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?

More than 3 years have passed since last update.

Webページが表示されるまで 〜MVCモデル(+Routing)による解説

Last updated at Posted at 2020-03-05

#はじめに
プログラミングスクールでPHPを学習中の、33歳女です。
現在は、スクールのカリキュラムが終わって、オリジナルのWebアプリ制作に取りかかっている段階です。
この記事は、私自身の復習と、「Webページが表示されるまでの流れ? よく分からん」という人のためのものです。
よく分かっている方には、おさらいになるかと思います。

#MVCモデルとは?
簡単に言うと、プログラムの構成を分かりやすくした概念の一つです。
各々が自分のルールプログラムを書くと、作った人以外は何が何やら分からない。
そこで一定のルールを設けて、誰が見てもある程度分かりやすくしよう、という考えの下に誕生しました。
なので、Webに限った話ではないのですが、説明に便利な概念であるため採用しました。
MVCは略称で、以下のように役割が割り振られています。

   ・Model:データベースからデータを取ってくる
   ・View:ユーザー側に表示するページを作る
   ・Controller:ViewとModelの橋渡し

タイトルにある「Routing」が気になる方もいると思いますが、こちらは次の章で説明します。

#Routingとは?
では、タイトルから登場している「Routing」について説明します。
簡単に言うと、ユーザーとControllerの橋渡しで、交通整理の役目を果たしています。
そうです、ユーザーとの橋渡しはControllerではないのです。
ユーザーから来た要求(URLなど)が乗った車を、Controllerという入口に案内する、というイメージです。

#Webページが表示されるまでの流れ
いよいよRoutingも含めた、Webページが表示されるまでの流れを見ていきます。
文章だけだとイメージが湧かないと思うので、以下に図を貼ります。

MVCモデル図解.png

画像引用:ゼロから始めるPHP講座 Vol.44 MVCモデル③~MVCの使用例より

ちなみに、上の図には載っていませんが、RoutingはユーザーとControllerの間にいます。
図にRoutingが載っていないので、流れが分かりづらいとは思いますが、図を基に説明すると以下のようになります。

1. ユーザーからの要求(URL等)をRoutingが受け取る
2. 受け取った要求をControllerに案内する
3. ControllerがModelまたはViewに処理を依頼(内容によってどちらに依頼するか変わる)
4. ユーザーの要求がブラウザ上に反映される

以上がWebページが表示されるまでの流れです。
次の章で具体例を見ていきます。

#実用例
ここでは、友人のブログにアクセスする場面を想像してください。
以下にもう一度、Webページが表示されるまでの流れを記載します。

1. ユーザーからの要求(URL等)をRoutingが受け取る
2. 受け取った要求をRoutingがControllerに案内する
3. ControllerがModelまたはViewに処理を依頼(内容によってどちらに依頼するか変わる)
4. ユーザーの要求がブラウザ上に反映される

あなたは、友人Aさんの〇月×日のブログ記事を読みたいとします。
その場合、〇月×日のブログ記事のリンクをクリックしますよね?
記事のリンクをクリックするのが、上記の1に当たります。
次は裏方のMVCとRoutingが動き始めます。
Routingが上記の2を行なった後は、Controllerの出番です。
それが上記の3、つまり、ControllerがModelとViewに処理を依頼します。
Modelに〇月×日の記事データを取ってくるよう依頼、Viewにはその記事データを表示するように依頼。
上記の3まで全て終わると上記の4、つまり、〇月×日の記事が読めるようになります。

#まとめ
Routingがユーザーからの要求(URL等)を受け取り、Controllerが内容に応じてModelやViewに処理を依頼する。
以上がWebページが表示されるまでの流れです。
MVCモデルは絶対の正解というわけではないとのことですが、ざっくりと流れを理解するには便利な概念だと感じました。

#参考記事
MVCモデルについてわかりやすく解説します!【初心者向け】
MVCモデル - 「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
スクールのカリキュラム…は載せられないので、スクール公式サイトのリンクを貼ります

2
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
2
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?