根据Code Igniter - best place to declare global variable,我可以在Codeigniter中创建全局变量。
我也可以在Codeigniter中为config.php添加自定义配置变量。
以上两种方法有什么区别?我的意思是,如果我需要在整个项目中存储一些价值,我应该使用什么方法?
答案 0 :(得分:0)
主要区别在于config
中存储的值需要额外的步骤来读取值。如果在constants.php中定义了var,那么它可以直接使用。
在constants.php中
$my_global = 'foo';
可以直接使用
echo $my_global.'bar'; //outputs "foobar"
如果值存储在config.php中
$config['my_global'] = 'foo';
然后你必须先从config读取值才能使用它。
$my_global = $this->config->item('my_global');
echo $my_global.'bar'; //outputs "foobar"
或直接使用配置检索
echo $this->config->item('my_global').'bar'; //outputs "foobar"
根据定义,常量是在执行脚本期间无法更改的值。如果这是你需要的,那么将值定义为常量。
define(MY_GLOBAL, 'foo');
echo MY_GLOBAL.'bar'; //outputs "foobar"
如果值需要在脚本执行期间动态更改,请改用config。
constants.php和配置库都是在框架初始化的早期加载的,因此可以在实例化控制器时使用。