コントローラからビューが提供されている場合は、そのビューで生成されたデータを投稿経由で渡してモデルに直接渡すか、コントローラを介して戻る必要がありますビューを提供し、コントローラからモデルを呼び出しますか?コントローラからビューをモデルに渡すMVCの混乱
答えて
MVCに依存しないアプローチでは、モデルに戻るビューはcorrect approachです。純粋主義者は常にコントローラーに戻ると述べることがあります。
hereからのコメント...
モデルは(通常 ビューから)その状態についての情報 のリクエストに動作し、アプリケーションドメインの データ、 応答を管理し、応答 状態への指示(通常は コントローラから)。
「通常は」というフレーズが重要です。パターンは、ある程度下流の管理性と保守性のためです。時にはパターンは、維持可能で管理しやすい方法で目標を達成することに支障をきたし、時には過度に使用されることもあります。
私は、いずれのルートもこのインスタンス(小規模)でうまくいくとは思っていますが、アプリケーション全体でどのように問題に近づいているかについてもわかります。
CodeIgniterビューでは、コントローラからデータを取得し、パラメータをデマルチプレクス/検証し、モデルから適切なデータを取得します。
ビューが出力されます:それはすることが重要です。ビューは、HTML/XML/JSON/CSS(ページ、ページの論理部分、またはAPIやリソースなどの出力データの他の部分)を定義するため、モデルと直接結合されません。これは、CIのビューからモデルを呼び出さないことを意味します。
コントローラはプロキシです。コントローラとモデルは出力を生成しません。コントローラはGET要求とPOST要求を受け取り、結果を出力するためにビューに必要な呼び出しを行います。多くの場合、パラメータをチェックし、複数のモデル呼び出しを多重化して適切なデータをすべて取得します。
モデルはデータを取得して入れます。モデルは、モデルのデータオブジェクトとして、またはデータのより一般的な(ただし一貫性のある)ハッシュのいずれかとして、不可知論的な形式でデータを返す必要があります。返されたモデルデータがよりクリーンであれば、ビューとモデルの間での結合が少なくなります(モデルパーツの再利用が増えるほど)。
- JavaScriptがしばしばビューに関連して終わる(と、通常のコントローラタスク、検証のようなものを行うことができます):CodeIgniterの中
は、あなたが重複を見つけることがいくつかの場所があります。 Javascriptをビューから移動することでこれを改善することができます(大きな部分ではうまく機能し、小さい部分ではうまく機能しません)。
目標は、特定の仕様を満たすデータを受信することを除いて、モデルを認識しないようにすることです。コントローラはちょうど取得して置くだけで(HTML出力もデータにも直接アクセスしません)、モデルはほとんどがSQLや他の形式のデータを取得し、構造化されたものに詰め込んでいます。
はい、コントローラ機能にフォームデータを送信します。その関数はデータを処理し、ビューを呼び出します。
これ以外の方法で試してみると、コードが完成します。
1つの機能で、フォームの元の表示とそのフォームの送信を処理できます。
フォームが送信されているかどうかを確認し、送信されている場合はそのデータを処理し、そうでない場合はフォームを表示します。
function login(){
if($this->input->post('submitted')==1){
//process the form data
}else{
//show the form
}
}
- 1. コントローラ、モデル、ビュー。パラメータを渡すこととの混乱
- 2. ビューからコントローラにASP.NET MVCモデルを渡す
- 3. MVCビューからコントローラに値を渡す
- 4. コントローラからビューMVCにオブジェクトを渡す
- 5. MVC4ビューからコントローラへモデルを渡す
- 6. MVC - ビューからコントローラへデータを渡す
- 7. モデルを渡してビューからコントローラに再び渡します
- 8. パラメータをMVCパーシャルビューに渡すのに混乱しますか?
- 9. grailsのビューからコントローラにモデルを渡す方法
- 10. ビューから次のコントローラにモデルを渡す
- 11. ビューはモデルをコントローラに渡していません - ASP.Net MVC
- 12. ASP.Net MVCのビューからコントローラにクラスの値を渡す方法
- 13. MVC、Html.ActionLink、WebGrid、Linq、モデル、ビュー、コントローラ
- 14. モデルオブジェクトデータをビューからコントローラにモデルに渡す?
- 15. コントローラからMVC 3のビューにリストを渡す方法
- 16. ASP.NET MVC 5のビューからコントローラにオブジェクト全体を渡す
- 17. mvc(PHP)のビューからモデルに変数を渡すには
- 18. ASP.NET MVC AJAXでコントローラにモデルを渡す
- 19. AngularjsモデルがMVCコントローラにnullを渡す
- 20. MVCのビュー、コントローラ、モデルをグループ化する
- 21. MVCコントローラから角度ビューに値を渡す方法
- 22. ASP.net Core MVC 2.0 FormEditModelをビューからコントローラに渡す
- 23. ビューからMVCコントローラにボタンIDを渡す
- 24. ASP.Net MVCでViewBagでコントローラからビューにメッセージを渡す
- 25. ビューからモデルとコントローラを作成するMVC
- 26. MVCパラダイム:ビューからモデルとコントローラを公開する
- 27. asp.net mvcのビューからコントローラへデータを渡す方法
- 28. 混乱した.net MVCモデルとモデルの表示
- 29. ラジオボタンからコントローラにモデルを渡す
- 30. ビューからコントローラに変数を渡すための適切なMVCモデルは何ですか?
私はビューからモデルを呼び出しますか? – roger
@Roger追加情報を追加しました... –
ビューにあまり多くのコードを追加しなくても、ビューからモデルを呼び出す方法はまだわかりません。モデルでは、ビュー内の