2010-07-22 30 views
0

使用其中包含say 2功能的一個視圖文件是否正確?在php中使用MVC時的建議

例如我在我的數據庫中有項目表,我有2個函數在這個特定的MySQL查詢視圖文件內。

每個查詢返回一個特定視圖這麼說

功能1 = NUM​​_ROWS 功能2 =行

這是否是正確的,或者我應該做不同的事情裏面的數據?

+0

您使用的是什麼mvc框架?只是好奇 – 2010-07-22 11:31:44

+0

即時通訊不基於我的代碼mvc – 2010-07-22 12:52:46

回答

2

你的視圖文件不應該有它們的功能。

MVC的想法是分離模型,例如,所有與演示文稿層(由V和C表示)無關的內容。 M應忽視V和C.

控制器處理對錶示層/用戶界面的任何輸入。它委託給模型並設置模型返回到視圖的任何內容。

該視圖負責渲染模型數據和用戶界面。如果你需要在視圖中有功能,那麼最好保存在View Helpers中。

請參閱Web Presentation Patterns in PoEAA瞭解有關如何最佳呈現視圖的一些想法。 Parts of the book are available on Google Books

+0

你能解釋我多一點,我的觀點文件有一個查詢循環,這就是它, – 2010-07-22 10:57:22

1

這種類型的功能不屬於視圖。屬於視圖的唯一代碼是構造數據所需的代碼。

這種功能屬於模型,因爲它對數據起作用。

也許你應該看看Model–view–controller Article on Wikipediahttp://en.wikipedia.org/wiki/Model -view-controller)以更好地理解MVC。

Sory,出於某種原因,我無法建立真正的鏈接到wiki頁面。

+0

所以,如果我有我的查詢在模型中如何打印出結果如果我不能把視圖中的循環? – 2010-07-22 10:59:50

+0

爲什麼你不能在視圖中循環?這屬於類別「屬於視圖的唯一代碼是構建數據所需的代碼」。 – jigfox 2010-07-22 11:03:20

+0

您可以在視圖中使用基本的控制結構:if..then..else,for循環等。只要查詢沒有在那裏執行,並且您只是將結果傳遞給視圖。 – robdog 2010-07-22 11:06:38