2010-04-13 130 views
77

很多时候我需要在视图中访问$config变量。 我知道我可以将它们从控制器传递到load->view()。 但明显地做得太过分了。

有一些方法或技巧,从CI意见访问$config变量不 有备用码干扰控制器?

回答

164

$this->config->item()工作正常。

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

+47

例如,如果有'$ config ['foo'] ='bar';'在配置中使用'$ this-> config-> item('foo')'将会是'bar'。 – Sasha 2010-04-13 22:58:32

+0

请添加上面的示例来回答 – 2017-08-10 05:45:45

13

你可以做这样的事情:

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

Actualy的图$这是指CI_Loader和get_instance()内是指CI_Base()一如既往。 – 2010-04-13 18:32:45

+0

适用于Ocular模板库 – 2012-09-01 13:48:54

1

每当我需要访问配置变量我倾向于使用函数:$ this-> config->配置[“变量名”];

3

你的控制器应该收集来自数据库,配置等的所有信息。坚持这一点有很多很好的理由。一个很好的理由是,这将允许您很容易地更改信息的来源,而不必对您的观点进行任何更改。

25

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

+1

感谢您的这一点 - 我无法从钩子访问配置值。对于其他人来说,这很好。 – CashIsClay 2013-06-21 18:22:22

+0

但是,'config_item()'没有'$ this-> config-> item()中的可用碰撞保护' – IJas 2014-03-03 15:50:39

8

$this->config->item('config_var')不适用于我的情况。

我只能用config_item('config_var');呼应视图

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" 
0

$config['cricket'] = 'bat';在config.php文件

$this->config->item('cricket')使用该视图

1

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

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

在应用程序/视图/标题中。PHP(假定HTML代码)

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

Example of Title

相关问题