2012-01-29 65 views
0

中間代碼應該放在哪裏? (一些ins't只是存儲/檢索數據從DB也不處理請求/觀看次數)MVC - Codeigniter

例如,

說我有Listings和我在模型中創建CRUD功能。這些Listings可能需要更復雜的任務,如暫停和恢復,這可能需要一些時間計算,錯誤設置等。如果這些被放置在模型中,或者應該將一個簡單的模型包含在庫中,並將其作爲中間人模型?

目前我正在考慮使用驅動程序/庫和保持模型相當簡單,除了一些動態的SELECT濾鏡。儘管如此,我還是有點困惑,因爲我猜測我可能不得不在模型中重新檢查模型中的變量,依賴關係等,是嗎?

我最有可能擠在模型中的一切,一次檢查或單獨檢查兩次?

回答

3

一般的經驗法則是:

1)執行模型中的所有業務邏輯。

2)在控制器中執行像交通警察一樣的操作。 (根據活動結果指導用戶觀看新視圖。)

3)僅在視圖中執行表示邏輯。

你想做的任何事情都會被視爲「中介」,可能會駐留在圖書館或助手中。

應該注意的是,如果你編寫一個庫,不要忘了在你的類中獲取當前CI對象的一個​​實例,這樣你就可以使用它的內部類方法。

class Your_lib { 
    $CI =& get_instance(); 
    ... 
} 

希望有幫助。