【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で分割されているため、開発が効率的に行える。
・単体でも独立性が高く、再利用ができる。
・独立性が高く専門性に特化しているため、バグ修正やトラブルに柔軟に対応できる。