はじめに
現在私はPHPとLaravelを学んでいるのですが、そのLaravelの中で重要となってくるのが
「MVCモデル」と呼ばれる考え方です。
拙いですが自分の備忘録として他の方の記事などを参考にしながら
下記に「MVCモデル」の特徴を書いていきたいと思います。
MVCモデルとは
Model、View、Controllerの3つの役割に分割してコーディングを行うモデルのことです。
今回はRouterの説明も一緒に書いてみたいと思います。
・Model
→主にDBを操作する役割を持っています。
具体的にはデータをDBへ保存、DBからデータを取得、DBのデータの更新や削除を行います。
DBの編集・管理をするときに使うのが「マイグレーション」になるのですが、まだ理解が追いついていないので割愛します。
・View
→ユーザーが実際に見る画面を表示する役割を持っています。
Controllerから受け取ったデータ(レスポンス)を画面に表示したり、ユーザーからのリクエストをControllerへ送信したりします。
・Controller
→ModelとViewに処理をお願いする司令塔の様な役割を持っています。
Viewからリクエストを受け取ってModelに指示を出したり、Modelの処理を受け取ってViewへレスポンスを送るなどをします。
・Router
→アクセスしたアドレスを元に処理を割り振る役割を持っています。
Laravelはアドレスに割り付けられたプログラムの実行によって表示されるため、アドレスに対しての処理をそれぞれ関連付ける必要があリます。
MVCモデルのメリット
1,役割を分割することで誰が見てもわかりやすいコードとなる。
2,変更・修正を行う際に一部分だけ直せばいいので労力を最小限に抑えることができる
3,役割が分割されているので共同開発しやすい
以上が大まかに書いたMVCモデルの特徴です。
まだまだこの概念は理解しきれていないので誤っている点などがあればぜひ教えてください。
ここまで見て頂きありがとうございました!!
参照元
https://qiita.com/s_emoto/items/975cc38a3e0de462966a
https://qiita.com/OhshimaRyo/items/310a098418cb09b24285