2011-08-16 4 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

だろう、あなたのモデルの周りにあなたのコントローラを構築することをお勧めします。

ユーザーモデルをお持ちの場合は、ユーザーコントローラーと一致させてください。 Userモデルに関連するすべての要求を対応するコントローラ(User)にルーティングします。例えば、Articleモデル<と同じ -

など>記事コントローラー、編集:ユーザーが(あるいは他のいくつかの共通の機能)ログインしているかどうかをチェックするために、私は私のまわりで私のコントローラを持っています MY_Controller

+0

を考えますモデルの場合は、基本コントローラーを使用して、すべてのコントローラーを適切にロードするためにログインするなどの特定の状態を処理する必要があるかどうかは不思議です。 –

+0

私の答えを編集 –

+2

My_Controllerに関するZackのコメントを拡大するには、Phil Sturgeonの投稿を読んでください:[リンク](http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-Base-Classes-Keeping-it-DRY) – permawash

関連する問題