【CakePHP】MVCモデルとは何なのか

CakePHPMVCモデルという設計方式を採用しています。

この「MVC」とはそもそもなんなのか、ということでざっくり概要をまとめてみました。

 

今回のポイント

MVCとは何なのか

MVCのメリット

 

MVCとは何なのか

アプリケーションをモデル、ビュー、コントローラの3つに分ける設計方式です。
それぞれの役割はこんな感じです

  • モデル
    アプリケーション内部で行われる仕事を担当します。
    具体的にはデータをデータベースから取得したり、データベースに挿入されるデータを加工したり、検証したりします。
  • ビュー
    アプリケーションを使うユーザーが実際に目にするインターフェースや、
    入力フォームなどを担当します。
  • コントローラー
    モデルとビューの橋渡しを担当します。
    モデルの
    「データベースの内容を表示させたいから、
     表示担当のビューにこのデータを回してください」という依頼や、
    ビューの
    「ユーザーが入力した内容をデータベースに保存したいから、
     データベース管理担当のモデルに回してください」
    という依頼を引き受けます。

ざっくり言えば

モデルは内部の仕事、ビューが外部の仕事、コントローラは両者の橋渡し、といえます。

 

MVCのメリット

各機能が独立していて、お互いの依存性も最小限なのがMVCの特徴です。
そのため、

・各機能がソースコード上ではっきりと別れているため、分業しやすい
 名前の衝突とか無駄な肥大化を避けられます。 

・いずれかの機能に変更があっても、他の機能に与える影響が小さい

というメリットがあります。