MVCとは
Model (モデル)
View (ビュー)
Controller (コントローラー)
主にデータの処理
を行うModel、入出力
を行うView、ViewとModelを制御する
Controller。
それぞれ役割を持たせた3つのプログラムの総称をMVCと言います。
図解
ルーティング
ルーティングとは、ブラウザから送られてきたURLでMVCのどの部分のどのような処理をすれば良いのかを判断するプログラムです。
ブラウザからリクエストがきたら、そのトップページを呼び出す命令があるControllerを探してくれます。
Model
Modelはデータの処理や操作を担当するプログラムで、データベースへのアクセスや、データベースを検索して任意のデータを取得するためのSQLを扱ったりします。
例えばデータベースの更新や削除、新規作成といった機能を実装します。
View
Viewは最終的に出力を担当するプログラムです。
データベースから取得したデータをHTMLに埋め込んでアクセスするたびに、異なるHTMLを生成する事があります。このようなサイトを動的なサイトと呼び、HTMLを動的に生成する部分がViewになります。
Controller
Controllerは、ViewとModelを繋ぎ、制御するプログラムです。
あくまでも自分自身では表示などの実行などは行わず、Viewからの入力に応じて必要な処理をModelに依頼する、というのがControllerの役割です。
MVCの連携
ルーティングからMVCまでの全体の流れを整理してみます。
- ブラウザからURLが送られてくる(リクエスト)
- ルーティングが、URLからどのControllerを呼び出すか判断
- 呼び出されたControllerがModelと連携してデータを処理
- Modelからのデータベースからのデータを取得
- 処理結果をViewに引き渡す
- ブラウザにWebページが表示される
このような流れで、Webページは表示されています。
MVCを使うメリット
機能ごとの独立性が高いので分業して作業を行う事ができます。
MVCは表示部分や処理部分が分かれています。なのでデザインなどの表示を変更したときでもModelやControllerの変更がない限りそのまま使う事ができます。
デザインを変更したければViewを修正すれば完了します。
フレームワークを使用するにあたり、MVCの理解はとても重要なので覚えてしまいましょう!!