【CakePHP】MVCモデルとは何なのか
CakePHPはMVCモデルという設計方式を採用しています。
この「MVC」とはそもそもなんなのか、ということでざっくり概要をまとめてみました。
今回のポイント
・MVCとは何なのか
・MVCのメリット
MVCとは何なのか
アプリケーションをモデル、ビュー、コントローラの3つに分ける設計方式です。
それぞれの役割はこんな感じです
- モデル
アプリケーション内部で行われる仕事を担当します。
具体的にはデータをデータベースから取得したり、データベースに挿入されるデータを加工したり、検証したりします。 - ビュー
アプリケーションを使うユーザーが実際に目にするインターフェースや、
入力フォームなどを担当します。 - コントローラー
モデルとビューの橋渡しを担当します。
モデルの
「データベースの内容を表示させたいから、
表示担当のビューにこのデータを回してください」という依頼や、
ビューの
「ユーザーが入力した内容をデータベースに保存したいから、
データベース管理担当のモデルに回してください」
という依頼を引き受けます。
ざっくり言えば
モデルは内部の仕事、ビューが外部の仕事、コントローラは両者の橋渡し、といえます。
MVCのメリット
各機能が独立していて、お互いの依存性も最小限なのがMVCの特徴です。
そのため、
・各機能がソースコード上ではっきりと別れているため、分業しやすい
名前の衝突とか無駄な肥大化を避けられます。
・いずれかの機能に変更があっても、他の機能に与える影響が小さい
というメリットがあります。