LaravelのMVCであるモデル・ビュー・コントローラについての設定をしていきます。
MVCは複雑になりがちなプログラミングの処理を3つの役割に分割して実装する手法です。
比較的にはっきりと書くモジュールがわかれるので、プログラムの見通しがよくなります。
各機能について
コントローラの役割
コントローラとはビューとモデルを操作する部分です。
具体的にはビューからリクエストを受け取り、モデルへ処理の命令を出します。また、モデルから処理の結果を受け取り、レスポンスとしてビューへ返したりします。
ビューとモデルの仲介役だと思ってくれるとイメージしやすいと思います。
ビューの役割
ビューとは、ユーザーが実際に見る画面を示しています。主にHTMLで書かれていますが、if文のようなプログラムコードも書かれます。
これは、コントローラから受け取ったデータを画面に表示したり、画面で処理を書いたほうが都合が良い時があるからです。
また、リクエストをコントローラへ送る役割も果たしています。
モデルの役割
モデルとは、ビジネスロジックを各部分です。簡単に言えば、データを処理したり、データをDBへ保存したりする部分になります。また、DBからデータを取得して、コントローラへ送る部分でもあります。
MVCモデルのまとめ
MVCモデルを採用しているフレームワークでは、ファイルがどこに保存されているかわかりやすいように、モデル・ビュー・コントローラそれぞれにディレクトリを分けてファイルを管理します。
それぞれの役割に応じてプログラムを書くため、分業してプログラムを書いたり、仕様変更する際には、ファイルだけ修正することが可能となっています。
実際にフレームワークやプロジェクトの方針などにより、それぞれにどこまでの役割を任せるかは大きく変わるため、この記事で説明した通りとは言い切れません。
しかし、MVCモデルというが異変があることを理解した上で、フレームワークを利用することは、効率的にコードを書いたり、可読性の高いコードを書く上で重要なためLaravelの諸学者向けにこの記事を書きました。