2013-07-16 88 views
0

該文件說,在模型中,你可以連接sql並做一些事情來管理,但在控制器中我也可以加載數據庫並用sql連接管理這些東西,我知道在 中你會喜歡傳統的MVC模式,所以我只想知道是否有必要在CI中使用模型。Codeigniter中模型是否必要?

+1

如果您*可以*從控制器訪問數據庫,那麼顯然該模型不是*必需的*。如果你真的喜歡在腳下射擊自己,那也沒有必要。 – deceze

+1

必要嗎?不,但你也不需要使用控制器。只需在你的視圖中加載php文件。 –

+0

[什麼是mvc](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) –

回答

1

除非和直到你不與你的Database動作交互不需要模型,當然啦,在某些情況下,你can write your database queries at controller itself。但它是用MVC(模型 - 視圖 - 控制器)架構的意義

3

正如其他人所指出的,模型是沒有必要的;既不使用任何框架。我們選擇使用框架是因爲它們提供了許多工具和設計實踐,使開發更容易。其中之一是演示和邏輯的分離。

MVC中的邏輯通常由模型執行。控制器只處理接收輸入並調用正確的模型。這使您可以輕鬆測試您的代碼。這也允許您同時並分別開發前端和後端代碼。

我認爲關於MVC設計模式以瞭解它試圖實現什麼對於read很重要。

0

從理論上講,您可以在控制器中加載和創建模型的操作,但它不是MVC模式。

MVC(模型 - 視圖 - 控制器)是一種模式,通過它可以分離出三個「邏輯扇區」。

例如: 假設您必須在更多頁面(控制器操縱)中多次選擇產品列表,如果沒有該模型,您應該爲每個控制器重新編寫查詢,並且此代碼重複位於MVC之外模式,超越了糟糕的表演。通過模型Morover,您可以輕鬆處理持久性數據。

MVC模式被「創建」,用於編寫更少的代碼,重新使用現有的代碼。

0

重要的是要知道,模型不僅適用於數據庫,但更多地面向該功能。

模型中,可以定義與持久信息的交互,它可以是一個文件,數據庫,文件系統等

這不是絕對必要有一個,但強烈建議,如果您需要堅持信息(保存/讀取),因爲它將應用程序劃分爲邏輯部分。 (MODEL - VIEW - CONTROLLER)。每個都有它的功能。