CakePHPではMVCパターンを採用しています。
MVCパターンを用いてプログラムをモジュールに分割する事でプログラムの見通しが良くなります。

M(モデル) ビジネスロジックおよびデータに関する部分を担当
V(ビュー) 表示などの出力に関する部分を担当
C(コントローラ) クライアントからのリクエストを処理するする部分を担当

CakePHPが備える機能

  • モデル
    • アソシエーション
    • ビヘイビア
  • ビュー
    • レイアウト
    • エレメント
    • ヘルパー
  • コントローラ
    • コンポーネント

CakePHPとMVC

CakePHPはデータベースの1つのテーブルに対応して、1つのモデル、1つのコントローラが使われるシンプルな構成の場合に記述するコードが少なくなるように命名規則を用いて工夫されています。


例えば、'posts'という名前のテーブルを扱う場合、命名規則に従って'Post'という名前のモデル、'Posts'という名前のコントローラを作成すれば、記述するコードの量を節約できます。


もちろんほんの少しコードを追加すれば、別の名前の組み合わせを使用する事もできますます。

モデルについて

基本的に1つのモデルは対応する1つのテーブルを扱う事になるため、モデルはデータ側に近い存在になります。


CakePHPの利用者の中には、アクション毎にモデルを設けたり、サービス層のような中継用のModelを用いてコントローラとモデルの間に配置する手法を取っている開発者の方もいます。

参考

CakePHPを使ったMVC設計のベストプラクティス

誰でもできるサービスレイヤの実装

CakePHP Note (v1.3)

Index