CakePHP における MVC パターン
CakePHP は Web システム開発でもっとも実績のある MVC パターンを採用しています。
開発者はモデル、ビュー、コントローラの各オブジェクトをプログラミングすることが Web システム構築における大部分の開発サイクルとなります。
MVC パターンの概要と CakePHP の各オブジェクトが MVC 中のどの役割を担っているかを解説します。
MVC パターン
MVCパターンとは次のようなWebシステムの構成を意味します。
モデル - Model
【公式】 http://cakephp.jp/doc/models.html
モデルはビジネスロジックとそれに付随するデータの入出力を担当します。また、たとえば「会員を退会扱いにする」場合などにdelete_flag を false から true へと変更するビジネスロジックはモデルが担当します。
主な役割は次のようなケースが考えられます。
■ビジネスロジックをメソッドとして提供する
例)会員のデータ一覧を取得する
例)会員を新規登録する
例)パスワード再設定用のURLを会員にメールで送信する
例)delete_flagをtrueにして削除扱いにする
■データベースからデータを取得する
プライマリキーや条件からデータを1件取得する(SELECT)
条件に合致する複数件のデータを取得する(SELECT)
リレーションを理解して再帰的にデータを取得する(SELECT)
■データベースへデータを保存する
新規登録(INSERT)
更新(UPDATE)
■データを検証する(バリデーション)
入力データを検証する
データベースの整合性(一意属性など)を検証する
コントローラ - Controller
【公式】 http://cakephp.jp/doc/controllers.html
コントローラはモデルのメソッドを使いこなして目的を達成し、ビューへとデータを渡して、その結果をブラウザへ返す役割を担います。
主な役割は次のようなケースが考えられます。
■HTTPリクエストからアクションを実行する
モデルのメソッドを使いこなして目的を達する
画面を遷移するロジックを実行する
ビューへデータを渡す
ビュー - View
【公式】 http://cakephp.jp/doc/views.html
ビューはコントローラから渡ってきたデータを駆使して HTML 、または XML などの表現を構成します。
主な役割は次のようなケースが考えられます。
■コントローラから渡ってきたデータを駆使してHTMLを返す
■コントローラから渡ってきたデータを駆使してXMLを返す
« 「CakePHP プログラマーズリファレンスガイド」へ | トップへ | 上の階層へ | 「CakePHP におけるシンボルの命名規約」へ »
