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

通常我需要访问视图中的 $config变量。 我知道我可以把它们从控制器传递到 load->view()。 但是,明确地这样做似乎有些过分。

是否有一些方法或技巧来访问 $config变量从 CI 视图没有 用备用代码干扰控制器?

147469 次浏览

You can do something like that:

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

$this->config->item() works fine.

For example, if the config file contains $config['foo'] = 'bar'; then $this->config->item('foo') == 'bar'

Whenever I need to access config variables I tend to use: $this->config->config['variable_name'];

Your controller should collect all the information from databases, configs, etc. There are many good reasons to stick to this. One good reason is that this will allow you to change the source of that information quite easily and not have to make any changes to your views.

Also, the Common function config_item() works pretty much everywhere throughout the CodeIgniter instance. Controllers, models, views, libraries, helpers, hooks, whatever.

$this->config->item('config_var') did not work for my case.

I could only use the config_item('config_var'); to echo variables in the view

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

If your config file also come to picture you have to access like this for example I include an app.php in config folder I have a variable

$config['50001'] = "your  message"

Now I want access in my controller or model .

Try following two cases one should work

case1:

$msg = $this->config->item('ur config file');


echo $msg['50001'];    //out put:  "your message";

case2:

 $msg = $this->config->item('50001');


echo $msg;    //out put:  "your message"

$config['cricket'] = 'bat'; in config.php file

$this->config->item('cricket') use this in view

This is how I did it. In config.php

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

In applications/view/header.php (assuming html code)

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

Example of Title

If you are trying to accessing config variable into controller than use

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

If you are trying to accessing the config variable into outside the controller(helper/hooks) then use

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

Example, if you have:

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

set in your config.php then

echo base_url();

This works very well almost at every place.
/* Edit */
This might work for the latest versions of codeigniter (4 and above).