PHPのフレームワーク、Laravel(ララベル)を学び始めると、最初に「MVCモデル」という言葉がでてきます。
「もっと分かりやすく説明してほしい!」
「説明を読んでみても、MVCモデルがなんだかサッパリ分からない」
40代でPHPを学び始めた私は、こんなふうにストレスを感じていました。
同じように思う人のために、漫画で分かりやすく解説してみました。
LaravelのMVCモデルをマンガで解説
では早速、はじめていきます。
シチュエーションは、Laravelで作られた会員サイトにログインしようとするとき。
サーバーサイドでは何が起こっているのかをお見せしますね。
登場人物は、次の5名。
【登場人物紹介】
◆ユーザー。よくお気に入りの会員サイトにログインしている。 | |
◆ルーター。ユーザーがWebサイトにアクセスしたときに処理を振り分ける。 | |
◆コントローラー。ルーティングから処理を依頼される。 | |
◆モデル。データベースにアクセスできる。 | |
◆ビュー。Webページを表示させる。 |
【漫画で分かるMVCモデル】
もう少し真面目な感じでMVCを解説します
ということで、ざっくりですが、上記のようなことがサーバー側で起こっています。
もう少し真面目に解説すると、こんな図になります。
- ルーティングで処理を振り分ける
- コントローラがページごとに処理を行う
- 処理によってはモデルとやりとりして、データベースから情報を取ってくる
- 準備した内容をビューで表示させる
- ユーザーの画面に反映される
上記の漫画と図の説明は、全員登場するときの形した時の形です。
全員登場しないでページを表示させることもあります。
たとえば、コントローラーなしで 【ルーティング→ビュー】となったり。
これはユーザーがWebページにアクセスしたときに、ルーティングがビューに直接「このページだしてね」と依頼する場合に起こります。
「あのページ、表示してね」 | |
「は~い」 |
また、データベースを使わないでページを表示することもあります。
この場合は、モデルは出番がなくなりますね。
LaravelのMVCモデルがスッキリ分かって頂けたら嬉しいです
というわけで、今回、LaravelのMVCモデルを、次の5個の役割を説明しながら紹介しました。
- ルーティング
- コントローラー
- モデル
- ビュー
MVCモデルについて、少しスッキリしてもらえたら嬉しいです。
もし今完璧に分からなくても、大丈夫。実際にコードをいれていくと、流れが見えてきます。
では次回からは、具体的にプログラミングをどう組むか解説していきますね。