首页  >  文章  >  php教程  >  Load database config file from libraries in CodeIg

Load database config file from libraries in CodeIg

WBOY
WBOY原创
2016-06-06 20:13:451175浏览

Sometime you will want to load database config variables from your libraries.In this case, if you use $this-_CI-config-load(database) , you will get an error: $this-_CI = get_instance();$this-_CI-config-load('database'); The error somthing

Sometime you will want to load database config variables from your libraries.In this case, if you use $this->_CI->config->load(‘database’), you will get an error:

$this->_CI = &get_instance();
$this->_CI->config->load('database');

The error somthing like Your application/config/database.php file does not appear to contain a valid configuration array.

The source is in `system/core/Config.php#138`:

// CodeIgniter Version 2.1.4
if ( ! isset($config) OR ! is_array($config))
{
	if ($fail_gracefully === TRUE)
	{
		return FALSE;
	}
	show_error('Your '.$file_path.' file does not appear to contain a valid configuration array.');
}

You can find that the config will lookup an array with the name $config, but in your database’s config file it contains array variable with the name $db?defaultly.This is the reason you got the invalid configuration array error message.

To correctly load database configuration from libraries,you can you code below:

$this->_CI->load->database('default');
$db = $this->_CI->db;
Something::config(['driver'=> 'mysql','host'=> $db->hostname,
    'dbname'=> $db->database,
    'user'=> $db->username,
    'password'=> $db->password]);

Notice the `default` is the active group in your database configuration file.

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn