W3QはBiztterに生まれ変わりました!
Web制作に関するお悩みはBiztterへどうぞ!

Biztterで質問する

ID:ajttSB さんの質問

MVCについて質問があります!!

データベースとのやり取りを担当するクラスであったり、ユーザー認証や権限管理を担当するクラスというのは、MVCのMに該当するのでしょうか?

というよりは、どのクラスはMVCのどこに該当するみたいな発想自体が誤っていますでしょうか?

詳しい方教えて下さいませ!

みんなの回答 5 件

ID:S77vus さんの回答

MVC の概念から勉強し直してくださいww

ID:ajttSB

いや、冗談でなくてマジ質問なのですが。。。

ID:iw1ZFd

コメ主もたぶん分かってないはずw

ID:XHcqik さんの回答

そんなことより****しようぜ!

ID:ioApkF さんの回答

難しい質問はしないで下さい。
ここはw3qですよ。

ID:fgP9Jg さんの回答

Model:具体的な処理を担当
View:表示部分を担当
Controller:Viewで指示された内容をModelに伝える
って感じ。
ユーザー認証で例えるなら
----
(ユーザー)ログイン用のURLにアクセス
(C)GETだからログインフォームのあるページを表示ね
(V)おk
<ログインページが表示される>
(ユーザー)IDとパスワードを入力して送信っと
(C)POSTきた!このIDとパスワードに合致するユーザーいる?
(M)データベースの中探してみるわ……ないみたい
(C)あらら……じゃ、間違ってるよっておしえてあげよう
(V)あいよー
<ログインできなかった旨が表示される>
(ユーザー)あれ?こうだっけ?もっかい送信、っと
(C)またPOSTきた!これはどう?
(M)どうだろ……見つけた!該当ユーザーの情報あげるよ
(C)よし!じゃあ、セッションにこれ保存して……マイベージ表示しようか
(V)ほいほい
<マイベージが表示される>
----
こんな感じ?

ID:qoggnE

追記

  • 実際は「セッションにデータを保存する」処理もモデルに委譲することが多い
  • ログインとマイページは別のコントローラーで処理するのが一般的
    まぁ、あくまで参考ということで
ID:ajttSB

ありがとうございます!!たいへん、さんこうになります!

ID:ajttSB さんの回答

つまり、認証管理クラスも権限管理クラスもDBとのやりとりを担当するクラスもMVCのModelに該当するということで認識は合ってますでしょうか?

ID:jObllC

上の説明と俺の認識は違う。モデルはあくまでデータの読み書き(CRUD)。データ(モデル)のコントロール(処理)を担うのがコントローラ。だからAuthやACLはコントローラの範疇ではないかな。FuelPHPではAuthはモデルを処理するパッケージとして提供されてる。

ID:iw1ZFd

いや、モデルでしょw

ID:iw1ZFd

コントローラーはデータの処理じゃなくてデータの操作を行なうんだよ。コントローラーでデータの処理やら加工のロジック入れてたら、コントローラーがふくれあがっちゃうでしょうに。

ID:jObllC

そだな。操作だ。ゴメソ。

最終更新日:2014-09-16 (1,528 views)

関連するトピックス

ページ上部に戻る