codeigniter - 在CI配置文件中使用自定义配置值

时间:2013-04-16 04:42:35

标签: codeigniter

我得到了custom.php(在配置文件夹中),代码如下

$config['myurl'] = 'somesite.com';

我有config.php(标准CI),我想使用custom.php中的值设置base_url,就像这样

$config['base_url'] = $this->config->item('myurl');

这样做我收到了错误

Using $this when not in object context in /Volumes/HD 2/work/vnl/app/config/config.php on line 18

为此目的的正确代码是什么?

2 个答案:

答案 0 :(得分:0)

这不会起作用。您希望在那里使用的$this是一个控制器实例,并且在标准application/config/config.php加载时尚未创建。

您可以尝试添加pre_system hook(在配置对象之前加载)并包含在一些可以调用的辅助函数中,并在application/config/config.php中返回所需的值。那时常见的常量如APPPATH

如果你可以使这个配置变量成为一个可以工作的常量(只需将define()放在application/config/constants.php里面)。由于配置文件只是一个常规的php源文件,如果必须,你也可以在这里使用条件。

答案 1 :(得分:0)

您可以使用数组。 在您的自定义配置文件

$config['myurl'] = 'myurl.com';

$config['base_url'] = &$config['myurl'];

这将在加载自定义配置文件后更改默认的base_url,您也可以只重置自定义配置中的base_url元素,但在我看来,不建议在以后的其他配置文件中重置基本URL你可以忘记项目设置的项目,为什么不在主配置文件中设置它(也许使用条件)?