CakePHPのMVC構成
更新滞っているので、CakePHPで勉強したことを少しずつメモ代わりに。
CakePHPはMVCモデルでWebアプリケーションを構築するためのフレームワークで、
M:Model
⇒DBのテーブルに対応
V:View
⇒ブラウザに表示される画面に対応
C:Contoroller
⇒ページごとのロジック処理に対応
となってます(厳密なMVCモデルでの意味ではありません、あくまでCakePHPでの位置付け)。
それぞれに対応するファイルは以下となってます。
●コントローラー
設置フォルダ:[CakePHP ROOT]\app\Controller
クラス名はコントローラー名(通常はモデル名の複数形)+Controller(キャメル記法)、AppController を継承する。。ファイル名はクラス名と同じ(拡張子phpがつく ○○○Controller.php)。ページのURLと同じ名前のアクションメソッドを記述する(デフォルトで呼ばれるアクションメソッドはindex())。
命名規約にそわないテーブル(モデル)を使用する場合、
の記述で指定できる(複数テーブルの使用も可能)。
●ビューテンプレート
設置フォルダ:[CakePHP ROOT]\app\View\○○○ ←○○○はコントローラー名と合わせたフォルダ名
テンプレートの拡張子は.ctp。ファイル名はコントローラー中のアクションメソッド名をアンダースコア記法にしたもので命名。テンプレート中には基本的にhtmlを記述し、動的に書き出したい部分にphpでの記述を行う。
●モデル
設置フォルダ: [CakePHP ROOT]\app\Model
モデル名はテーブル名の単数形をつける。クラス名は単数形・キャメル記法で命名。ファイル名はクラス名と同じにする。
命名規約に沿わないテーブルを使用する場合は、
を記述する。