0

どのようにロードapplication/config/site_globals.phpして変数を取得し、すべてのコントローラーで開始せずにすべてのコントローラー (フックと同じ locig) でそれらを使用できますか? 変数を使用する必要があり、それらをセッションに保持したくありません。

これは、通常、開始する方法です。

$this->load->config('site_globals');
$my_globals = $this->config->item('site');
echo $my_globals['header_note']; //for example, there are many more

上記のコードは、面倒なすべてのコントローラーで複製する必要があります。

ありがとう

4

3 に答える 3

3

この目的でのapplication/config/constant.phpファイルの使用。

于 2013-02-25T13:27:57.120 に答える
1

CI_Controller を拡張する MY_Controller を作成し、MY_Controller コンストラクターでグローバルをロードしてから、他のすべてのコントローラーが CI_controller ではなく MY_Controller を拡張するようにします。

ドキュメントを参照してください: http://ellislab.com/codeigniter/user-guide/general/core_classes.html

参考までに、MY_Session、MY_Model など、すべてのコア クラスに対して同じことを行うことができます。それらを使用すると、コードの繰り返しがずっと簡単になります。

于 2013-02-25T12:37:13.383 に答える
1
    class Custom_Controller extends CI_Controller
{

  $this->load->config('site_globals');
  $my_globals = $this->config->item('site');
  echo $my_globals['header_note'];
}

次に、これらのグローバル変数を使用する必要があるすべてのコントローラーで、次のように使用します。

    class Example extends Custom_Controller
{

  //your code here
}
于 2013-02-25T12:41:33.253 に答える