【Laravel】MVCモデルとは

MVCモデルとは
Webフレームワークで一般的に取り入れられている、アプリケーションの設計モデルのひとつ。
 
・モデル(Model)…データ処理をしたり、データをDBへ保存したりする。
・ビュー(View)…ユーザーが見る画面を表示する。
・コントローラー(Controller)…ビューとモデルの制御を担当。ユーザーからの入力に対し、モデルへ処理の依頼をしたり、ビューへユーザーへの表示内容を依頼したりする。
 
この3つのの頭文字を取って「MVC」という。
 
 
 
モデル(Model)
・機能
データベースとデータのやり取りを行う機能を実装する。
データベースから取得したデータを、プログラムで扱いやすい形式に変換する。
DBへデータを保存する。
DBからデータを取得して、コントローラーへ送る。
コントローラーからレスポンスを受け取る。
 
 Controller ⇔ Model ⇔ DB
 
 
 
ビュー(View)
・機能
ユーザーから受け取ったリクエストをコントローラーへ送る。
コントローラーから受け取ったデータ(レスポンス)を画面に表示する。
 
 View ⇔ Controller
 
 
 
コントローラー(Controller)
・機能
ビューとモデルを操作する部分であり、ビューとモデルの仲介者。
ビューからリクエストを受け取り、モデルへ処理の命令を出す。
モデルから処理の結果を受け取り、レスポンスとしてビューへ返す。
 
 View ⇔ Controller ⇔ Model
 
 
 
MVCモデルのメリット
・機能を分割することで独立性が高くなる。
・MVCで分割されているため、開発が効率的に行える。
・単体でも独立性が高く、再利用ができる。
・独立性が高く専門性に特化しているため、バグ修正やトラブルに柔軟に対応できる。