CodeIgniterアプリケーションの複数のコントローラでいくつかの関数にアクセスする必要があります。瞬間機能は例えば、本当に基本的なおよび少数です:コントローラーまたは作成ヘルパーを拡張する必要がありますか?
generate_random_key() //just a random string
is_logged() //check if user is logged or not
logged_user_only() //if unlogged, redirect
unlogged_user_only() //if logged, redirect
これらの機能は、ログインするために関連しているように、私はApplication/helpers/login_helper.php
ORにヘルパーファイルと場所でそれらを置くことができるのいずれか
私はMY_Controller.php
を作成することによって、CI_Controllerを拡張し、Application/Core/MY_Controller.php
のメソッドの仕事の両方をそれを置くが、私は疑問に思ってwhicすることができますhはこの種の作業に適しています。私はコントローラが拡張されるべきとき、またはヘルパーが使用されるべきときにいくつかのルールがあるべきだと思いますか?
generate_random_keyはおそらく – jlb
そういえヘルパーにとどまるべき拡張する必要があり、たとえば、私は、ユーザーが別のコントローラにログインされているかどうかを確認する必要があります。 – Roman
私はMY_Controllerコンストラクタで認証チェックを設定するのが好きです。そうすればコントローラはそれを拡張するのではなく、自動的に認証チェックを取得します。さらに、いくつかのコントローラが(アクセス制御規則によって、またはコンストラクタparamのように単純に)それを必要としないように設定することができます。 – jlb