2011-02-01 51 views
0

我已經有了codeigniter中的auth庫來訪問數據庫,以檢查電子郵件/密碼組合是否正確。我應該在圖書館使用我的模型嗎?

如果我堅持使用MVC實踐,我應該將與數據庫交互的函數移到我的模型中,還是最好將它放在原來的位置,以便將來使用它?

沒有多大的區別對我來說,不是事實我不得不重新編寫庫,在我的模型創建功能等,但如果是這樣的事情應該是這樣那就這樣吧。

回答

1

那麼一般的經驗法則是有介入與處理數據和進行數據庫查詢模型全力以赴功能。不同的開發人員有不同的方法,但我認爲你不應該打破MVC模型,並將數據庫代碼放入你的控制器中。

我一直在開發一個auth庫自己叫WolfAuth任何人都可以fork和貢獻太/用途:https://github.com/Vheissu/WolfAuth-for-Codeigniter-2.0-

正如你可以在我的模型中看到我有一個可以接受的針和乾草堆一個得到用戶的功能值。因此,我可以在我的庫中編寫大量不同的函數,以便通過ID獲取用戶或通過用不同的參數調用此模型函數而不是調用不同的函數來記錄用戶。

在WolfAuth你可以看到所有的功能將調用模型函數get_users使用不同的值。我相信有一個函數可以檢索多個數據片段,而不是編寫單獨的函數,比一個函數可以完成這6個函數可以完成的所有工作時的6個函數要乾淨得多。

因此,要回答你的問題:編寫與模型中的數據庫交互的功能,但保留相同功能的庫中的調用模型函數,並返回其值。

另外,如果你想隨時採取的代碼段,並從我的身份驗證圖書館借來的想法,如果它可以幫助您瞭解斷碼了更好地利用它們在你的。

+0

我喜歡保持方法名稱相同的位。謝謝 :) – 2011-02-01 23:35:24

相關問題