0

我得到了 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

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

4

2 回答 2

0

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

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

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

这将在加载自定义配置文件后更改默认的 base_url,您也可以在自定义配置中重置 base_url 元素,但是在我看来,不建议在项目后期重置另一个配置文件中的基本 url可能会忘记它的设置位置,为什么不在主配置文件中设置它(可能还有使用条件)?

于 2013-04-16T16:32:17.483 回答
0

这在那儿行不通。$this您想要使用的是一个控制器实例,并且在标准加载时尚未创建application/config/config.php

您可以尝试添加一个pre_system钩子(在配置对象之前加载)并包含在一些可以调用的辅助函数中,并在application/config/config.php. APPPATH届时将可以使用通常的常量。

如果您可以将此配置变量设为也可以工作的常量(只需放入define()inside application/config/constants.php)。由于配置文件只是一个常规的 php 源文件,因此如果必须,您也可以在此处设置条件。

于 2013-04-16T04:55:36.080 回答