2011-01-07 2 views
0

私にはこれを明らかにする人がいますか? MVCのパラダイムでは、コントローラーを可能な限り薄い状態に保つことが考えられます。モデルはデータベース、XML-RPCなどのデータソースと通信するビットであり、これがビジネスロジックを実行する場所です。MVC - シンコントローラのアイデア - Codeigniter/Zend

POSTデータとGETデータは「データソース」であり、そのような種類のデータをモデルで処理するのか、それともコントローラーで処理すべきかを示します。

私は通常、モデル内のメソッドを呼び出してポストデータを渡しますが、データはコントローラによって品質チェックされ、モデルメソッドは単に挿入などを行います。コントローラがポストが発生し、正常性チェック、データチェックなどを行うのであればコントローラはただモデルメソッドを呼び出すべきですか?

+1

[MVCの理解:モデルの "Fat"の概念とコントローラの "Skinny"の概念は何ですか?](http://stackoverflow.com/questions/3109715/understanding-mvc-whats-the-concept-モデルのスキン・オン・コントローラー) – Gordon

+1

アイデアは再使用可能なモデルを持つことです...すべてのモデルがデータベースと話すことの「難しい仕事」をしているからです。コントローラーは再利用可能ではありません(たぶんそれは可能ですが...)、ユーザーインターフェイスがモデルと通信できるようにするのは安全な方法です。薄型でアプリケーション固有のコントローラを作成するということは、モデルにもっと一般的なロジックがあることを意味し、あなた自身の将来の多くの時間。 – rabidmachine9

答えて

0

私のアプローチでは、コントローラは送信されるデータが適切なメソッド/ GET)、モデルに送信する前に(デフォルトを設定したりフォームを検証して)完了します。 テストのために、私はあなたのモデルに$request->getParams(); $request->getPost() and $request->getQuery()ラッパーを与えることを強く勧めます。 ZFは貢献者長時間からここにリンクをモデル、コントローラとの関係をどのように設計するかについての追加のリソースとして

ブログ: The M in MVC; Why Models are Misunderstood and Unappreciated

+0

すばらしい記事のリンク! – kevtrout

+0

ご迷惑をおかけして申し訳ありませんが、質問を明確にするための追加情報が必要ですか? –

0

私はPOSTでの作業とデータをGETするコントローラの責任の下に落ちると信じています。受信データを処理してライブラリやモデルに送信し、応答を取得して他のライブラリ、モデル、またはビューにルーティングする作業者として認識します。

関連する問題