如何加载application/config/site_globals.php
来获取变量并在每个控制器中使用它们(与钩子相同的位置)而不在每个控制器中启动它?我需要使用变量,并不希望将它们保存在会话中。
这就是我们通常启动它的方式:
$this->load->config('site_globals');
$my_globals = $this->config->item('site');
echo $my_globals['header_note']; //for example, there are many more
上面的代码必须在每个控制器中复制,这很痛苦。
由于
答案 0 :(得分:3)
application / config / constant.php文件用于此目的。
答案 1 :(得分:1)
创建一个扩展CI_Controller的MY_Controller,在MY_Controller构造函数中加载你的全局变量,然后确保所有其他控制器扩展MY_Controller而不是CI_controller。
请参阅文档:http://ellislab.com/codeigniter/user-guide/general/core_classes.html
对于记录,可以对所有核心类进行相同的操作,即MY_Session,MY_Model等。如果您使用它们,重复代码会更容易。
答案 2 :(得分: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
}