こんにちは、PHPエンジニアのYUUKIです。
最近Laravelの仕組みを体型的に学ぶ為、Laravel入門という本を参考に勉強しています。
今回はLaravel入門に書いてある、Laravelで使われているアーキテクチャスタイルのMVCについてわかりやすく解説していきます。
MVCとは
MVCとは、Model-View-Controllerの略で、
一言でいうと「Webアプリの裏側で動いている、Webの仕組みのパターン」のことを指します。
|
文章だけだとイメージしにくいと思うので、以下にMVCのイメージ図を記します。

MVCでは「Routing」という機能を用いることで、指定したURL(パス)にControllerファイルとメソッド(アクション)を紐付けます。たとえば、あるURLにアクセスしたとして、それがRoutingでControllerに紐付いていた場合は、紐付いているControllerとアクションを呼び出します。
具体的には、Controllerファイル名とそのControllerにある関数(アクション)をURL(パス)と紐付けます。
Routingは、routes/web.phpのファイルに、以下のような形式で記述します。
Route::HTTPメソッド(’パス名’, ‘コントローラ名@アクション名’)
↑の形式で実際に書いたコードを↓に載せます。
#ルート/hello にgetでアクセスした際、HelloControllerのindexアクションを呼び出す
Route::get('hello', 'HelloController@index');
#ルート/hello にpostをリクエストすると、HelloControllerのpostアクションを呼び出す
Route::post('hello', 'HelloController@post');
ちなみに、MVCの各ファイルは下記のパス配下に置きます。
|
MVCの作成には、「artisan makeコマンド」を使用します。
MVCのメリット
MVCとはそもそも、Webの「アーキテクチャスタイル」で、プロダクトを作る際に用いる「共通の枠組み」の概念の一つです。
アーキテクチャスタイルについて、詳しく知りたい方は↓の記事をご覧ください。
MVCに沿った設計を行うことで、組んだプログラムを別の人に引き継ぐ際に、各処理が明確化し、かつ分かりやすくなります。
MVCは殆どのWeb系言語のフレームワークに採用されているため、LaravelでMVCを学ぶことで他のWeb言語のフレームワークを使用した時にも、全体のアーキテクチャをすんなり理解することが出来ます。
LaravelのMVCまとめ
|
コメント
[…] LaravelのMVCとは?初心者にも分かりやすく解説Laravel入門に書いてある、Laravelで使われているアーキテクチャスタイルのMVCについてわかりやすく解説していきます。tech.cloud-blazer.com2020.02.29 […]