4
我正在使用MVC框架(特別是PHP的CodeIgniter)。我試圖儘可能遵循「最佳實踐」,但我對MVC沒有太多經驗。我從Controller的會話中檢索數據是不好的做法嗎?如果某個特定的會話值是'foo'或'bar',或者我應該直接在控制器內部執行操作,我應該「詢問」模型嗎?我想我應該在模型裏面做,因爲會話數據在技術上是數據,但我只是想確認一下。清楚的是,我不會將會話數據存儲在數據庫中,所以我沒有運行查詢。您是否應該在MVC框架的控制器或模型中處理會話數據?
Nathaniel,所以如果我從數據庫中選擇要顯示在頁面上的東西,應該從控制器內完成?無關,但有幫助。 – 2012-07-18 21:53:22
否;任何持久化到任何類型的存儲(包括數據庫)的對象都是域對象。如果您將某些內容存儲到數據庫中,那麼模型/服務層應該獲取該信息。控制器只是將這些信息傳遞給正確的視圖。 – 2012-07-18 21:55:39
+1爲「某種長期存儲」。這就是我想說的。 Session是CodeIgniter(CI_Session)中的一個庫,您可以直接從類實例訪問會話數據。 – 2012-07-18 21:59:20