
【CakePHP】MVCモデルを予約サイトをイメージしながら理解してみた!
今回は、CakePHPでは、必須知識のMVCモデルについての記事です。
MVCのそれぞれの役割
M(Model)
データベースとのやり取りを行います。
※Controllerにデータを渡す前に整形(使える状態に整える)する場合もあります。
V(View)
テンプレートファイルを読み込んで、ウェブ画面に表示する。
※拡張子の「.ctp」でHTMLやPHP、javascriptを書くことが可能です。
C(Controller)
核となる処理を記載します。
MやVに対して、命令や内部処理、計算を行います。
※Modelの値をもらって、Viewに変数を返すこともできます。
MVCモデルのフロー
この理解は、必須になるので、しっかり押さえておきたい。
図もクリスタで作ってみました!こんな時にソフトが使えると便利ですね。

予約サイトからイメージしてみた!
まず、ブラウザに予約フォームの内容が表示されているとします。
予約フォームの画面には、Viewで作成したHTMLが出力されています。
予約フォームを入力したとします。
「次へ」や「予約確認画面」へというようなボタンがあるかと思います。
ボタンを押したときにはじめて、Controllerが値を受け取って、内部処理を行います。
そして、Modelに対しては、データベースに登録したい内容や、カラムを取得するために処理が動きます。
Viewへは表示したいファイルに値をセットして、出力させます。
そして、「予約確認画面」が表示されます。
面白いことに、確認画面では、まだDBにデータを登録していないパターンも考えられるようです。
「予約確認画面」から、「完了」ボタンを押して、初めてデータベースに登録が完了します。
では、その値をどのように保持しているのでしょうか?
それは「セッション(session)」に値を保持してくやり方があるようです。。
次回、このセッションについて詳しく説明したいと思います。
ここまで読んでくださり、ありがとうございました!
いいなと思ったら応援しよう!
