CodeIgniter - 在视图中访问$ config变量

时间:2010-04-13 16:45:15

标签: php codeigniter

我经常需要在视图中访问$config个变量。 我知道我可以将它们从控制器传递给load->view()。 但明确地做这件事似乎过分了。

是否有一些方法或技巧可以在没有CI视图的情况下访问$config变量 带有备用代码的令人不安的控制器?

11 个答案:

答案 0 :(得分:184)

$this->config->item()效果很好。

例如,如果配置文件包含$config['foo'] = 'bar';,那么$this->config->item('foo') == 'bar'

答案 1 :(得分:27)

此外,Common函数config_item()在整个CodeIgniter实例中几乎无处不在。控制器,模型,视图,库,助手,钩子等。

答案 2 :(得分:15)

你可以这样做:

$ci = get_instance(); // CI_Loader instance
$ci->load->config('email');
echo $ci->config->item('name');

答案 3 :(得分:8)

$this->config->item('config_var')对我的情况不起作用。

我只能使用config_item('config_var');来回显视图中的变量

答案 4 :(得分:4)

您的控制器应该从数据库,配置等收集所有信息。有很多充分的理由坚持这一点。一个很好的理由是,这将允许您非常轻松地更改信息的来源,而不必对您的视图进行任何更改。

答案 5 :(得分:2)

每当我需要访问配置变量时,我倾向于使用:$ this-> config-> config ['variable_name'];

答案 6 :(得分:2)

echo $this->config->config['ur config file'] 

如果您的配置文件也出现了图片,您必须像这样访问,例如我在config文件夹中包含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"

答案 7 :(得分:1)

config.php文件中的

$config['cricket'] = 'bat';

$this->config->item('cricket')在视图中使用此

答案 8 :(得分:1)

这就是我做的。在config.php中

$config['HTML_TITLE'] = "SO TITLE test";

在applications / view / header.php中(假设是html代码)

<title><?=$this->config->item("HTML_TITLE");?> </title>

Example of Title

答案 9 :(得分:0)

如果您尝试将配置变量访问控制器而不是使用

$this->config->item('{variable name which you define into config}');

如果您尝试将config变量访问到控制器外部(帮助程序/挂钩),请使用

$mms = get_instance();  
$mms->config->item('{variable which you define into config}');

答案 10 :(得分:0)

例如,如果您有:

<input type="hidden" name="zyx" value="test id">

在您的 config.php 中设置

$config['base_url'] = 'www.example.com'

这几乎在每个地方都很好。
/ *编辑* /
这可能适用于最新版本的Codeigniter(4及更高版本)。