LoginSignup
10
4

More than 5 years have passed since last update.

MVCモデルをまとめる

Last updated at Posted at 2018-10-13

MVCについてまとめる

2018年10月13日時点での自分が理解しているなりのMVCモデルについてまとめてみます。
特に調べずに自分の理解だけを記録するので、間違って解釈しているところもあるかもしれないです。

Laravelについてのことがちょくちょく出てきますが、Laravelを使用していない人はそこらへんは無視してください。
(未来に振り返った時に何か変わるかもしれないしね。)

MVCとは

MVCとは、Model、View、Controllerの頭文字をとってMVCモデルという。
MVCモデルはフレームワークを利用した開発をする際によく用いられる開発手法の1つです。

Model、View、Controllerをデータが行き来します。

スクリーンショット 2018-10-13 18.04.57.png
上にMVCモデルを簡単に表現した図を入れてみました。

ここからは1つ1つ詳しく解説していこうと思います。

Model

ModelはDBとやりとりするクラスです。
具体的にはCRUDです。
LaravelのModelにはDBとやりとりするためのメソッドがあらかじめ用意されており、それらのメソッドを利用してDBとやりとりします。
また、メソッドを自作することも可能です。

Controller

ControllerはModelとViewの橋渡しをする存在です。
ModelからDBにアクセスし、取得したデータをControllerで加工してViewに渡すと行ったことや
ViewからのデータをModelに渡し、DBに保存してもらうなどです。

このかんにValidation(データが正当かどうかを判断する機能)をしたりします。

View

Viewは表示を担当します。
ViewはControllerから渡されたデータをわかりやすく表示したり、ユーザーからのリクエスト(form)をControllerに送ったりします。

Viewはロジック的なことはせず、ロジックは全てController、Modelに任せることがいいでしょう。

なぜ、MVCモデルなどが存在するのか

素のPHPでベタがきすれば確かにwebサイトは動きます。
しかし、PHPファイル1つとMVCモデルのファイル3つでは、エラーが起きた際にどこか原因かわかりやすいです。

MVCモデルは責任の所在を明らかにする他、Controller、Model、Viewのそれぞれの役割を書くだけでいいので、ソースコードが読みやすくなります。

などなどMVCモデルにはまだまだ利点があります。

この利点があるからMVCモデルが多く採用されているのど思います。

まとめ

LaravelはMVCモデルです。
Laravelを使用するためにはMVCモデルを理解しなければいけません。
しかし、そんなに難しいものではありません。

MVCモデルとググってLaravelを触っているうちにきっと理解してくると思います。

10
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
4