最近Djangoにも触れ始めてきて、MVCを採用しているCakePHPとの構造の多くの違いに気づいてきました。
この際にちょっとまとめようと思います。
MTV
Djangoで使われている考え方。”Model, Template, View”の略称。
MVC
Laravel, Rails, CakePHPで使われる考え方。”Model, View, Controller”の略称
では、以下でMTVのModel, Template, Viewのそれぞれについてみていこうと思う。
MTVのM, Model (モデル)
モデルではデータベースと連携してデータを取ってくる。これはMVCのモデルとそう変わらない。
MTVのT, Template(テンプレート)
一番簡単に言うと、htmlファイルのことを指す。ただ、htmlファイルだけではデータをデータベースから取ってくることはできないので、以下のViewを通して持ってきてもらう。
MTVのV, View(ビュー)
モデルで引っ張ってきた情報を記述していく場所。この情報がTemplateにて扱われることになる。 なのでモデルは仲介役、と考えてもいいだろう。
ではMVCのControllerはどこに行ったのか?
DjangoにおいてMVCのControllerにあたるのは、URL ディスパッチャというところになる。(urls.pyというファイル)