在CodeIgniter中,如何从单独的文件而不是默认的config \ database.php加载数据库?
可以说,在库下,我有一个名为db_configs的文件夹。在每个数据库中,详细信息将存储在单独的文件中,例如。DB_01.php,DB_02.php等。
谢谢,
使用CI内置的功能要容易得多,因为CI可以在一个文件中定义多个数据库连接。否则,就是重新发明轮子。
加载数据库时,可以选择任何给定的连接集(在database.php中定义)。例如,给定DB_01和DB_02,您可以使用
$this->load->database('DB_01');
要么
$this->load->database('DB_02');
如果同时需要两者,可以执行此操作
$db1 = $this->load->database('DB_01', TRUE); $db2 = $this->load->database('DB_02', TRUE);
但是,如果您必须有单独的文件,则有两种不同的方法。也许最简单的是使用助手
application / helpers / db2_helper.php
function db2Config() { return array( 'dsn' => '', 'hostname' => 'localhost', ... etc. ); }
在某些控制器中
$this->load->helper('db2'); $db2_settings = db2Config(); $this->load->database($db2_settings);
也可以使用Config类完成此操作。
application / config / db2.php
在某些控制器中
$this->config->load('db2', TRUE); $db2_config = $this->config->item('db2'); $this->load->database($db2_config);