CodeIgniter - accessing $config variable in view

PhpCodeigniter

Php Problem Overview


Pretty often I need to access $config variables in views. I know I can pass them from controller to load->view(). But it seems excessive to do it explicitly.

Is there some way or trick to access $config variable from CI views without disturbing controllers with spare code?

Php Solutions


Solution 1 - Php

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

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

Solution 2 - Php

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

Solution 3 - Php

You can do something like that:

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

Solution 4 - Php

$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

Solution 5 - Php

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.

Solution 6 - Php

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

Solution 7 - Php

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

Solution 8 - Php

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"

Solution 9 - Php

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

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

Solution 10 - Php

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}');

Solution 11 - Php

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).

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAlexAView Question on Stackoverflow
Solution 1 - PhpPhil SturgeonView Answer on Stackoverflow
Solution 2 - PhpPhil SturgeonView Answer on Stackoverflow
Solution 3 - PhpAlexey SheinView Answer on Stackoverflow
Solution 4 - Phpuser1002232View Answer on Stackoverflow
Solution 5 - PhpUtah_DaveView Answer on Stackoverflow
Solution 6 - PhpfangstarView Answer on Stackoverflow
Solution 7 - PhpThe website-labView Answer on Stackoverflow
Solution 8 - Phpkrishna_coolsoftyView Answer on Stackoverflow
Solution 9 - PhpRickView Answer on Stackoverflow
Solution 10 - PhpMannu saraswatView Answer on Stackoverflow
Solution 11 - Phprahim.nagoriView Answer on Stackoverflow