CakePHP Note (v1.3) > MVC
MVC
CakePHPではMVCパターンを採用しています。
MVCパターンを用いてプログラムをモジュールに分割する事でプログラムの見通しが良くなります。
M(モデル) | ビジネスロジックおよびデータに関する部分を担当 |
V(ビュー) | 表示などの出力に関する部分を担当 |
C(コントローラ) | クライアントからのリクエストを処理するする部分を担当 |
CakePHPが備える機能
- モデル
- アソシエーション
- ビヘイビア
- ビュー
- レイアウト
- エレメント
- ヘルパー
- コントローラ
- コンポーネント
CakePHPとMVC
CakePHPはデータベースの1つのテーブルに対応して、1つのモデル、1つのコントローラが使われるシンプルな構成の場合に記述するコードが少なくなるように命名規則を用いて工夫されています。
例えば、'posts'という名前のテーブルを扱う場合、命名規則に従って'Post'という名前のモデル、'Posts'という名前のコントローラを作成すれば、記述するコードの量を節約できます。
もちろんほんの少しコードを追加すれば、別の名前の組み合わせを使用する事もできますます。
モデルについて
基本的に1つのモデルは対応する1つのテーブルを扱う事になるため、モデルはデータ側に近い存在になります。
CakePHPの利用者の中には、アクション毎にモデルを設けたり、サービス層のような中継用のModelを用いてコントローラとモデルの間に配置する手法を取っている開発者の方もいます。