2009-08-11 3 views
0

私はMVCのコーディングスタイルに新しく、適切な場所にコードを配置するかどうかを決定するのに問題があります。私は商品のレートのリストを持っています、レートは様々な時間枠を持っています。私がやりたいことは、当日の最高額を表示することです。商品1に3つの料金があり、今日2つが重複している場合は、2つの料金のうち最高のものを選択して表示します。mvcの新機能、分割コードの質問

データを表示する方法に当てはまるので、これをビューに配置しました。これはcakephpにありますので、コントローラー/ビューをどのように適用するかを変更する場合は、Webプラットフォームです。

答えて

1

私は通常、自分のロジックをすべてコントローラとモデルに入れて、ビューにマークアップと出力文しか持たないようにします。これにより、ビューをもっときれいに保つことができます。特に、プログラマ以外のユーザーがビューを編集している場所(フロントエンドの実装者やコンテンツ担当者など)にいる場合は、それらを混乱させるリスクは少なくなります。

一般的に、私はモデルと比較して薄いコントローラを好み、より薄いビュー(各部門のロジックの量に関しては薄い)を好みます。

+0

ええ、あなたの入力に感謝します。私は今コントローラーに移動しています。 – Adrian

+1

幸運を祈る!コントローラは、多くの場合、MVCで最も誤解されているコンポーネントです。多くの時間は、コントローラであまりにも多くを行い、物事を混乱させようとします。 –

+0

私は脂肪モデルを好むので、先に進んでモデルに移動します。 Model :: getRate($ itemNum、$ time)を実行し、現在の時刻を$ timeに渡すことができます。コントローラがその呼び出しを行い、ビューに回答を送ってもらいますが、私はこのロジックコントローラ側のすべてを持っていないでしょう。 –

0

再利用可能なビューコードを要素に分割します。要素フォルダ内のそれぞれのコントローラフォルダに要素を配置します。 ページコントローラには、/ app/views/elements/pageという要素フォルダがあります。