2009-08-11 61 views
0

我是MVC編碼風格的新手,我無法決定是否將代碼放在正確的位置。我有一個項目的費率列表,費率有不同的時間表。我想要做的是顯示當天每個項目的最高費率。所以說,如果第1項有3個比率,其中2個比率今天重疊,它將選擇這兩個比率中的最高值並顯示它。mvc新手,分割代碼問題

我把它放在視圖中,因爲它適用於我顯示數據的方式。這是在cakephp中,所以如果這改變了你認爲應該應用控制器/視圖的方式,它就是一個Web平臺。

回答

1

我通常把我所有的邏輯放在控制器和模型中,這樣我的視圖只有標記和輸出語句。這會讓你的觀點更加清晰,尤其是如果你在非程序員可能正在編輯視圖的地方(例如:前端實現者或內容人員),那麼你就不會冒險搞砸了。通常,我比模型更喜歡薄控制器,甚至更薄的視圖(薄與每個部門的邏輯量有關)。

+0

是的,這是有道理的,謝謝你的意見。我現在將它移動到控制器。 – Adrian 2009-08-12 01:24:50

+1

祝你好運!控制器通常是MVC中誤解最多的組件。很多時候人們都試圖在控制器中做太多事情,並且弄得一團糟。 – 2009-08-12 02:02:44

+0

我會繼續前進,並將其移至模型中,因爲我更喜歡胖模特。您可以執行Model :: getRate($ itemNum,$ time)並將當前時間傳遞給$ time,如果您將其定義爲正確的話。讓控制器進行調用並將答案發送給視圖,但我不會擁有所有這些邏輯控制器端。 – 2009-08-12 04:56:31

0

我把可重用的視圖代碼分離成元素。並將元素放置在元素文件夾內的相應控制器文件夾中。 所以頁面控制器將有一個元素文件夾調用/ app/views/elements/page