2011-11-07 81 views
4

我正在學習CodeIgniter。我想知道哪一個是更新數據庫時獲取表單POST數據的最佳實踐:從Controller還是Model?在控制器或模型中獲取POST數據

如果我們在Controller中獲取POST數據,那麼我們需要將數據作爲參數傳遞給Model函數,但Model函數可以用於其他形式。如果我們直接在模型中獲取POST數據,那麼我們可以消除參數傳遞步驟,但它僅限於某些特定形式。

哪一個是最佳做法?

謝謝。

回答

3

最佳做法是在控制器和服務層執行所有數據處理,然後僅將所需數據傳遞到模態或視圖。這樣,您就可以控制信息流和概念之間的清晰分離。 Model對象只能通過ORM作爲數據對象使用,僅此而已。控制器應該包含所有的業務邏輯。

5

最好的做法是在控制器中處理視圖代碼(表單響應等),然後將所需的任何參數作爲參數傳遞給模型。

由於您的模型(及其方法)可以被重用,例如,如果您有不同的視圖和控制器需要使用不同方式處理表單的模型(例如API),則可以最大限度地重用。