1

OK、Code igniter を使用して小さなテスト サイトを作成してきました。これまでのところ、ログインとログアウトは完了しています。それらはすべて適切な MVC に従っており、コントローラーのロジック、モデルの実際の作業、およびビューのプレゼンテーションであると思います。ただし、フロントサイトにニュースフィードを含めるなどの操作を行うときに問題が発生しました。ログインは必要ありません。ニュースフィードの表示を担当するモデルへの呼び出しをホームビューに配置することだけを考えていました。これは悪い習慣ですか?基本的に、ログイン時にニュースフィードやユーザーの写真などの動的なものを表示するための最良の方法は何ですか?

4

2 に答える 2

1

それは非常に間違っています。

理想的な世界では、すべての関数、データ呼び出し、操作、データ挿入などがモデルに含まれます。

コントローラーは、モデルからのどの呼び出しが必要かを決定し、データをやり取りするために使用されます。この時点で、コントローラーはビューに必要な情報を収集し、それらを転送できます。

ビューに含める必要がある唯一のロジックは、if/else および for each ループです。ビューに送られる前にすべてのデータを「準備」するので、日付の書式設定、空の値の処理なども行われるため、ビューは名前が散らばったプレーンな HTML にすぎません。?> 型変数。

于 2013-03-10T09:37:03.093 に答える
0

正しく実装された MVC にインスパイアされたデザイン パターンでは、ビューはモデル レイヤーから情報を取得し、応答を作成する役割を果たします (必要に応じて、複数のテンプレートから作成されます)。つまり、ビューがモデル層からデータを要求するのは正しいことです。

避けるべきは、モデル層の状態を変更する操作です。その部分はコントローラの責任です。

注意すべきもう 1 つのことは、これは実際のビュー インスタンスがある場合にのみ適用されるということです。CodeIgniter が「ビュー」と呼ぶものは、馬鹿げたテンプレートの集まりにすぎません。テンプレートは、どこからでもデータを要求するべきではありません。

于 2013-03-10T09:59:10.003 に答える