我可以在应用程序文件夹中的index.php中设置active_group吗?

时间:2013-10-28 19:37:00

标签: php codeigniter

我有超过1个用户使用相同的应用程序文件夹。所以他们共享database.php。

我已将所有信息添加到$ db [] []矩阵中。现在我只需要在index.php文件中设置$ active_group。

不在控制器中,不在模型中。

任何想法如何做到这一点?

我试图在index.php的开头添加$active_group = 'test';,在用户配置部分尝试,在加载bootstrap之前尝试过,最后尝试过。没有任何效果。

我的database.php

$active_group = "";
$active_record = TRUE;
// Ale
$db['ale']['hostname'] = 'localhost';
$db['ale']['username'] = 'root';
$db['ale']['password'] = '';
$db['ale']['database'] = 'eo_ale';
$db['ale']['dbdriver'] = 'mysql';
$db['ale']['dbprefix'] = 'ed_';
$db['ale']['pconnect'] = TRUE;
$db['ale']['db_debug'] = TRUE;
$db['ale']['cache_on'] = FALSE;
$db['ale']['cachedir'] = '';
$db['ale']['char_set'] = 'utf8';
$db['ale']['dbcollat'] = 'utf8_general_ci';
$db['ale']['swap_pre'] = '';
$db['ale']['autoinit'] = TRUE;
$db['ale']['stricton'] = FALSE;


// Sre
$db['sre']['hostname'] = 'localhost';
$db['sre']['username'] = 'root';
$db['sre']['password'] = '';
$db['sre']['database'] = 'eo_sre';
$db['sre']['dbdriver'] = 'mysql';
$db['sre']['dbprefix'] = 'ed_';
$db['sre']['pconnect'] = TRUE;
$db['sre']['db_debug'] = TRUE;
$db['sre']['cache_on'] = FALSE;
$db['sre']['cachedir'] = '';
$db['sre']['char_set'] = 'utf8';
$db['sre']['dbcollat'] = 'utf8_general_ci';
$db['sre']['swap_pre'] = '';
$db['sre']['autoinit'] = TRUE;
$db['sre']['stricton'] = FALSE;

所以我现在想要的是创建一个函数,当ale登录时,设置$ active_group =“ale”,或者当sre登录时,设置$ active_group =“sre”。

这不应该那么难,但我找不到办法做到这一点......

1 个答案:

答案 0 :(得分:3)

你不能在index.php中设置$active_group,因为它会在加载数据库配置文件时被覆盖,但是你可以这样做

define('ACTIVE_SITE', 'default_new');添加到index.php文件

然后在数据库文件中将$active_group更改为

if (defined('ACTIVE_SITE')) {
    $active_group = ACTIVE_SITE;
} else {
    $active_group = 'default';
}