[CakePHP] 構造1

タグ :

CakePHPの基礎をまとめてみました。

MVCモデル

CakePHPは、MVCモデルというものを採用しています。
MVCモデルとは、プログラムをモデル(データ構造)・ビュー(画面表示)・コントローラ(プログラム制御)に分離して考えるというものです。
このMVCという考え方をすると、開発作業を分離することができます。
デザイナーは、ビュー部分だけに集中でき、プログラマはコントローラといった具合に、分業が容易にできるようになります。

MVCの利点としては、

  • アプリケーションを管理し易いモジュール化をする
  • 高速に開発ができるパッケージとして扱える
  • 実証済みのソフトウェアデザインパターンを使用できる

アプリケーションの動作をモデル・ビュー・コントローラの3つに分けると、アプリケーションは非常にフットワークが良くなります。
モジュール化と分離デザインによって、高速にプロトタイプが作れ、システム開発者とデザイナーが同時に作業できるようになるのです。
この分離スタイルにより、システム開発者は他の部分に影響を与えることなく、一部の変更を容易にできるようになります。

CakePHPの基本的な処理の流れ

例えば、ユーザーがあるサイトから本を購入したとします。
その場合の処理の流れとしては、

 mvc_image
  1. ユーザーのクリックしたリンクは「http://www.example.com/books/buy」につながっていて、ブラウザはWebサーバにリクエストを送信する。
  2. ディスパッチャは、リクエストされたURLをチェックし、リクエストをコントローラに渡す。
  3. コントローラは、アプリケーション独自のロジックを実行する。例えばユーザーがログインしているかどうかをチェックするなど。
  4. コントローラはモデルを使用し、アプリケーションのデータにアクセスする。
  5. たいていの場合、モデルはデータベースのテーブルを表すが、LDAPエントリ、RSSフィード、システムのファイルにすることも可能。例えばコントローラはモデルを使ってユーザーの最新の購入履歴をデータベースから取得する。
  6. コントローラがデータを取り出すと、コントローラはそれをビューに送る。ビューはこのデータを受け取り、ユーザーにどのようにして見せるかを準備する。CakePHPのビューは、たいていの場合はHTMLフォーマットになるが必要に応じてPDF、XMLフォーマット、JSONオブジェクトなどにすることも可能。
  7. ビューがコントローラからデータを使用し、ビューに出力すると、そのビューの内容はユーザーのブラウザに返信される。

となります。
アプリケーションに対する、ほぼ全てのリクエストがこの基本的なパターンになります。

Share

  • このエントリーをはてなブックマークに追加

Comment

コメントを残す

*がついている欄は必須項目です。

  • Twitter
  • Facebook
  • Google Plus
  • RSS Feed