2011-08-16 44 views
1

將所有控制器重定向到站點的基礎控制器並使用頁面標識符作爲參數,然後讓基礎控制器基於該參數的某些邏輯進行重定向,這是否是一個好設計?Codeigniter基本控制器

//base controller 

function __construct($fromPage, $toPage) { 

    parent::__construct(); 

    if($toPage == 'member_only') { 
     $this->is_logged_in(); 
    } 

} 

function is_logged_in($controller) { 

    //redirect to appropriate controller from here? 

} 

上基本控制器實踐中的幾個建議將是燦爛的:)

回答

4

在一般情況下,最好是建立一個圍繞你的模型的控制器。

如果您有用戶模型,請將其與用戶控制器進行匹配。並將與用戶模型相關的所有請求路由到相應的控制器(用戶)。與相同,例如,第模型< - >文章控制器等

編輯:爲了檢查,如果用戶登錄(或其他一些常見的功能),考慮MY_Controller

+0

我有我的身邊我的控制器模型,我只是想知道是否應該使用基礎控制器來處理特定狀態,例如登錄以相應地加載所有控制器。 –

+0

編輯我的回答 –

+2

爲了擴大Zack對My_Controller的評論,請閱讀Phil Sturgeon的帖子:[link](http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-Base-Classes-Keeping-it-DRY) – permawash