Maccle

CakePHPにおけるMVCのあれこれ備忘録

約 3 分

CakePHP
CakePHPを勉強してるわけですが、CakePHPのMVC(モデル-ビュー-コントローラ)における関連性と、それぞれさらに「コンポーネント」や「ヘルパー」やら関連するロジックがどうもごちゃごちゃして頭の中が整理されていない。。

というわけで備忘録。

CakePHPにおけるMVCの概念

処理の流れ

[1.クライアント]
   ↓
(2.ディスパッチャ)
※対象のコントローラを判定
   ↓
[3.コントローラ] → [5.ビュー] → [6.クライアント]
   ↓↑
 [4.モデル]
Model(モデル)
アプリケーションで利用されるデータを表す。

データは、対象がデータベースであれば、そのテーブル。
その他、用意した(された)データがテキスト、RSS、JSONなどなどであれば、それらを対象とする。

こうすると、”Task”という名前のモデルとしてCakePHPの設定ファイルに指定したデータべースのテーブルにアクセスできる。

モデルには「ビヘイビア(Behavior)」というロジックを割り当てて利用可能。
※ビヘイビアは、モデルクラス変数 $actsAs をとおしてモデルに割り当てられる。

View(ビュー)
コントローラから受け取ったデータを元にコンテンツを整形し、クライアントのブラウザへ結果を返す。

ビューには「ヘルパー(Helper)」というプレゼンテーション用のロジックをもった、多くのビュー・エレメント・レイアウト間で共有できる”コンポーネント”のようなクラスがある。

コントローラ内でビューで利用するヘルパーを定義:

Controller(コントローラ)
クライアントからの要求(パラメータ、フォームデータ)を受け取って、対象のモデルからデータを取得。

受け取ったデータを変数などに格納したり、レイアウトの条件をビューに渡す。

コントローラには「コンポーネント」というロジックのパッケージを組み込むことができる。
コントローラ内でコンポーネントを追加して、複数のコントローラ間で共有可能。

予め用意されているコンポーネント例:

  • セキュリティ(Security)
  • セッション(Sessions)
  • 認可(Access control lists)
  • メール(Emails)
  • クッキー(Cookies)
  • 認証(Authentication)
  • リクエスト処理(Request handling)

About The Author

某IT系なんちゃってエンジニアヨーダ
Apple好きだけど盲目マカーは気持ち悪いと思ってる中道だと思い込んでるしがないダメダメエンジニア。

今もってるApple製品↓
Macbook Pro 15 inch, iMac 27 inch (Late 2009), iPhone 6 Plus, iPad (初代! いらない!)
Follow :

Leave A Reply

*

Comment On Facebook