#はじめに
プログラミングスクールでPHPを学習中の、33歳女です。
現在は、スクールのカリキュラムが終わって、オリジナルのWebアプリ制作に取りかかっている段階です。
この記事は、私自身の復習と、「Webページが表示されるまでの流れ? よく分からん」という人のためのものです。
よく分かっている方には、おさらいになるかと思います。
#MVCモデルとは?
簡単に言うと、プログラムの構成を分かりやすくした概念の一つです。
各々が自分のルールプログラムを書くと、作った人以外は何が何やら分からない。
そこで一定のルールを設けて、誰が見てもある程度分かりやすくしよう、という考えの下に誕生しました。
なので、Webに限った話ではないのですが、説明に便利な概念であるため採用しました。
MVCは略称で、以下のように役割が割り振られています。
・Model:データベースからデータを取ってくる
・View:ユーザー側に表示するページを作る
・Controller:ViewとModelの橋渡し
タイトルにある「Routing」が気になる方もいると思いますが、こちらは次の章で説明します。
#Routingとは?
では、タイトルから登場している「Routing」について説明します。
簡単に言うと、ユーザーとControllerの橋渡しで、交通整理の役目を果たしています。
そうです、ユーザーとの橋渡しはControllerではないのです。
ユーザーから来た要求(URLなど)が乗った車を、Controllerという入口に案内する、というイメージです。
#Webページが表示されるまでの流れ
いよいよRoutingも含めた、Webページが表示されるまでの流れを見ていきます。
文章だけだとイメージが湧かないと思うので、以下に図を貼ります。
ちなみに、上の図には載っていませんが、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用語辞典
スクールのカリキュラム…は載せられないので、スクール公式サイトのリンクを貼ります