2009-10-09 79 views
3

我已經寫了包含以檢查用戶的登錄狀態的方法的驗證類控制器,並重定向他到登錄頁面,如果他/未登錄她。如何訪問控制器類笨

我需要調用這個函數從其他控制器方法來驗證用戶。什麼是這樣做的好方法?

回答

2

從該控制器中取出該方法。

假設你有一個用戶模式,即把它的好地方,如果它是驗證用戶和記錄它們。

其它地方,你可以把重複的代碼是在傭工(靜態函數)和圖書館(班)。

+0

+1。 VarunGupta描述了首先不屬於控制器的邏輯案例。 –

0

將函數帶到模型或在庫中對其進行編碼。

助手我不會推薦你,因爲你不建議從助手訪問數據庫。

簡單的出路是把它放在一個叫user_model的模型中,然後由任何控制器在任何地方調用它。

0

我把基本控制器中的檢查登錄方法,所有控制器擴展。現在,如果一個控制器的操作需要用戶登錄,我稱之爲parent::_check_login(),如果整個控制器需要它,我從該控制器的構造函數調用它,就這樣。

0

sumanchalki是正確的,但他可能沒有提供足夠的信息如何做到這一點。

CodeIgniter Base Classes: Keeping it DRY

這將告訴你如何做一個名爲基地的控制器,如管理控制器,它可能包含用戶的身份驗證邏輯等等。