#初心者がMVCモデル軽くまとめた。
PHP歴1ヶ月の私がMVCモデルを理解するために自分なりの解釈をまとめてみた。
MVCモデルを書いてみたが、レビューしたとき、MVCモデルになっていなかった。
自分のMVCモデルは、以下のような状態になってしまった。
ビューは書類(フォーム)を書く手伝い(処理)
コントローラは、モデルとビューにユーザーの
要望を答えるように勝手に動けとしか命令しない人(コンストラクタオンリー)
モデルは、仕事全般をする苦労人。(肥大化)
になってしまっていた。
まったくもってMVCモデルになっていなかった。
ってことでもう一度おさらいしてみたのでちょっとまとめる。
##コントローラには、
ToDoリストを書く
その際、処理が必要だったらモデルに頼む
終わったらビューに頼む
##モデルには、
コントローラに頼まれた処理を実行してデータを返す。
function tasizan()
{
$c = $a + $b;
return $c; //返す値
}
##ビューには、フォームタグなどを書く
ユーザーにこの書類(フォーム等)に書いてくださいっていう受付。
その書類をコントローラに渡す(インプットタグ等)
それとコントローラから受け取った書類(処理済みデータ)をユーザーに見せるだけ。
##パソコンに例えるなら?
ユーザーに見えているのはビュー、入力先はコントローラ、処理はモデル
パソコンで例えるなら
モニタがビュー
キーボードがコントローラ
CPUなどがモデル(基本ユーザーに見られない)
##会話っぽくまとめると
コントローラ「ユーザーきたからビューさん、記入用書類作ってユーザーに見せてあげてー」
ビュー「はいはーい、ユーザーから記入済み書類もらってきたよー」
コントローラ「fmfm,なるほど。この処理は難しいな・・・。」
コントローラ「モデルくん、この処理してくれないかな」
モデル「オッケー!終わったらデータ返すね!っていってる間に処理終わったよ!はいこれ、データ」
コントローラ「よし、じゃあビューさん、処理が終わったからこのデータをユーザーに提出してくれないかな」
ビュー「はーい、じゃあ書類にデータまとめて出力しておきますね!」
ユーザー「amaz◯nぽちー」カチッカチッ
##最後に
こんな感じで私は解釈しましたけど、他の方はどうなんでしょうかね。
それと自分はプログラムとか初めてなんですが間違っているとかありましたら教えて下さい。
泣いて喜びます。
ps.Qiitaでマークダウン記法を初めて知りました。