Dream of Electric Sheep

WEBやプログラムの忘備録

CakePHPのMVC構成

更新滞っているので、CakePHPで勉強したことを少しずつメモ代わりに。

 

CakePHPMVCモデルでWebアプリケーションを構築するためのフレームワークで、

M:Model
  ⇒DBのテーブルに対応
V:View
  ⇒ブラウザに表示される画面に対応
C:Contoroller

  ⇒ページごとのロジック処理に対応

となってます(厳密なMVCモデルでの意味ではありません、あくまでCakePHPでの位置付け)。

 

それぞれに対応するファイルは以下となってます。

 

●コントローラー
設置フォルダ:[CakePHP ROOT]\app\Controller
クラス名はコントローラー名(通常はモデル名の複数形)+Controller(キャメル記法)、AppController を継承する。。ファイル名はクラス名と同じ(拡張子phpがつく ○○○Controller.php)。ページのURLと同じ名前のアクションメソッドを記述する(デフォルトで呼ばれるアクションメソッドはindex())。
命名規約にそわないテーブル(モデル)を使用する場合、

public $uses = array('モデル名1','モデル名2','モデル3');

の記述で指定できる(複数テーブルの使用も可能)。

 

●ビューテンプレート
設置フォルダ:[CakePHP ROOT]\app\View\○○○ ←○○○はコントローラー名と合わせたフォルダ名
テンプレートの拡張子は.ctp。ファイル名はコントローラー中のアクションメソッド名をアンダースコア記法にしたもので命名。テンプレート中には基本的にhtmlを記述し、動的に書き出したい部分にphpでの記述を行う。

 

●モデル
設置フォルダ: [CakePHP ROOT]\app\Model
モデル名はテーブル名の単数形をつける。クラス名は単数形・キャメル記法で命名。ファイル名はクラス名と同じにする。
命名規約に沿わないテーブルを使用する場合は、

public $useTable='テーブル名';

を記述する。