CakePHP における MVC パターン

CakePHP は Web システム開発でもっとも実績のある MVC パターンを採用しています。

開発者はモデル、ビュー、コントローラの各オブジェクトをプログラミングすることが Web システム構築における大部分の開発サイクルとなります。

MVC パターンの概要と CakePHP の各オブジェクトが MVC 中のどの役割を担っているかを解説します。

MVC パターン

MVCパターンとは次のようなWebシステムの構成を意味します。

mvc.jpg

モデル - 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 におけるシンボルの命名規約」へ »

トップページへ戻る / 前のページへ戻る

back to top