[MVCモデル]とは?Laravelにも使われる概念を初心者に向けて解説

Laravel

今回はLaravelにも使われている「MVCモデル」と呼ばれるアーキテクチャ(構造)について解説します。

「そもそもMVCとはなんのこと?」

「MVCとは何を行っているの?」

という方に向けて、MVCモデルの概要とそれぞれの役割について、主に下記の2点について解説します。

  • MVCとは?
  • MVCのそれぞれの役割

前回はルーティングについて解説しました。ルーティングについては前回の記事Laravelのルーティングの書き方とパラメータの使い方にて解説しています。

1.MVCとは?

MVCとは(Model-View-Controller)の略で、処理をモデル(Model)、ビュー(View)、コントローラ(Controller)の3つに分けて記述する考え方です。機能ごとにファイルを分けることによって処理を見やすくしています。

3つそれぞれの役割は、おおまかに以下のようになっています。

  • モデル(Model):データベース系の処理を行う
  • ビュー(View):画面表示を行う
  • コントローラ(Controller):モデルとビューの橋渡しなど、全体の制御を行う

では、「Model」、「View」、「Controller」それぞれの役割について解説します。

2.MVCのそれぞれの役割

2-1.モデル(Model)

モデル(Model)とは、「データベースとのアクセスの処理」を担当しています。

モデルイメージ

Controllerからデータを受け取る命令が出され、命令に合うデータをデータベースから探します。そして受け取ったデータをControllerに送ります。

2-2.ビュー(View)

ビュー(View)とは、「Webブラウザに表示する見た目の生成」を担当しています。

ビューイメージ

まずルーティングで、アドレスとControllerのアクションメソッドを紐付けます。ルーティングに関してはLaravelのルーティングの書き方とパラメータの使い方にて解説しています。

ユーザーがリクエスト(アドレスにアクセス)するとControllerのアクションメソッドの処理が実行されます。

Controllerがリクエストに合うデータをViewに渡します。

ViewがControllerから受け取ったデータをレンダリング(見た目を整えて表示)してユーザーに渡します。

2-3.コントローラ(Controller)

コントローラ(Controller)とは、「ユーザーからリクエストを受け取り、ModelとViewの橋渡し」を担当しています。

コントローライメージ

ユーザーからのリクエストを受け取り、リクエストに合うデータをモデル経由で受け取ります。その後モデル経由で受けとったデータをViewに渡します。

まとめ

いかがでしたでしょうか?今回はMVCの概要とそれぞれの役割を解説しました。まとめると下記の4点です。

  • MVCとは、処理を3つに分けて記述する考え方
  • Modelとは、「データベースとのアクセスの処理」を担当
  • Viewとは、「Webブラウザに表示する見た目を生成」を担当
  • Controllerとは、ユーザーからリクエストを受け取り、ModelとViewの橋渡し」を担当

Laravelで開発を行うにはMVCの知識が必要になってきます。MVCそれぞれの役割をしっかり理解し、効率的にアプリケーションの開発をしましょう!

関連記事