[英]CodeIgniter - accessing $config variable in view
我经常需要在视图中访问$config
变量。 我知道我可以将它们从控制器传递到load->view()
。 但明确地这样做似乎有些过分。
有什么方法或技巧可以从 CI 视图访问$config
变量而不用备用代码干扰控制器吗?
$this->config->item()
工作正常。
例如,如果配置文件包含$config['foo'] = 'bar';
然后$this->config->item('foo') == 'bar'
此外,通用函数config_item()
在整个 CodeIgniter 实例中几乎无处不在。 控制器、模型、视图、库、助手、钩子等等。
你可以这样做:
$ci = get_instance(); // CI_Loader instance
$ci->load->config('email');
echo $ci->config->item('name');
$this->config->item('config_var')
不适用于我的情况。
我只能使用config_item('config_var');
在视图中回显变量
你的控制器应该从数据库、配置等收集所有信息。有很多很好的理由坚持这一点。 一个很好的理由是,这将允许您非常轻松地更改该信息的来源,而不必对您的视图进行任何更改。
echo $this->config->config['ur config file']
如果您的配置文件也出现在图片中,您必须像这样访问例如我在配置文件夹中包含一个 app.php 我有一个变量
$config['50001'] = "your message"
现在我想访问我的控制器或模型。
尝试以下两种情况,一种应该有效
情况1:
$msg = $this->config->item('ur config file');
echo $msg['50001']; //out put: "your message";
案例2:
$msg = $this->config->item('50001');
echo $msg; //out put: "your message"
每当我需要访问配置变量时,我倾向于使用: $this->config->config['variable_name'];
$config['cricket'] = 'bat';
在 config.php 文件中
$this->config->item('cricket')
在视图中使用这个
如果您尝试将配置变量访问到控制器而不是使用
$this->config->item('{variable name which you define into config}');
如果您尝试将 config 变量访问到控制器外部(helper/hooks),则使用
$mms = get_instance();
$mms->config->item('{variable which you define into config}');
例如,如果您有:
$config['base_url'] = 'www.example.com'
然后在你的config.php 中设置
echo base_url();
这几乎在每个地方都非常有效。
/* 编辑 */
这可能适用于最新版本的 codeigniter(4 及更高版本)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.