13
10

More than 3 years have passed since last update.

プログラミング初心者が書いたMVCモデルについて

Posted at

はじめに

現在私は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モデル.png

MVCモデルのメリット

1,役割を分割することで誰が見てもわかりやすいコードとなる。
2,変更・修正を行う際に一部分だけ直せばいいので労力を最小限に抑えることができる
3,役割が分割されているので共同開発しやすい

以上が大まかに書いたMVCモデルの特徴です。
まだまだこの概念は理解しきれていないので誤っている点などがあればぜひ教えてください。

ここまで見て頂きありがとうございました!!

参照元
https://qiita.com/s_emoto/items/975cc38a3e0de462966a
https://qiita.com/OhshimaRyo/items/310a098418cb09b24285

13
10
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
13
10