Config Class

Config Class

Config类提供了一种检索配置首选项的方法。这些首选项可以来自默认配置文件(application / config / config.php)或来自您自己的自定义配置文件。

注意

该类由系统自动初始化,因此不需要手动执行。

  • 使用配置类

- [获取配置项目](about:blank#fetching-config-items) - [设置配置项目](about:blank#setting-a-config-item) - [环境](about:blank#environments)

  • 类参考

使用配置类

解析配置文件

默认情况下,CodeIgniter有一个主配置文件,位于application / config / config.php。如果您使用文本编辑器打开文件,您会看到配置项存储在名为$ config的数组中。

您可以将自己的配置项添加到该文件中,或者如果您希望将配置项保持分离(假设您甚至需要配置项),则只需创建自己的文件并将其保存在配置文件夹中即可。

注意

如果您创建自己的配置文件,请使用与主配置文件相同的格式,将您的项目存储在名为$ config的数组中。CodeIgniter将智能地管理这些文件,因此即使数组具有相同的名称(假设数组索引没有与另一个命名相同),也不会发生冲突。

加载配置文件

注意

CodeIgniter会自动加载主配置文件(application / config / config.php),所以如果你创建了自己的配置文件,你只需要加载一个配置文件。

有两种方法来加载配置文件:

手动加载

要加载您的一个自定义配置文件,您将在需要它的控制器中使用以下功能:

$this->config->load('filename'

其中filename是配置文件的名称,不带.php文件扩展名。

如果你需要加载多个配置文件,通常它们会被合并到一个主配置数组中。但是,如果在不同的配置文件中具有相同名称的数组索引,则可能会发生名称冲突。为避免冲突,您可以将第二个参数设置为TRUE,并将每个配置文件存储在与配置文件的名称相对应的数组索引中。例:

// Stored in an array with this prototype: $this->config['blog_settings'] = $config $this->config->load('blog_settings', TRUE

请参阅下面的“获取配置项目”一节,了解如何以这种方式设置配置项目。

第三个参数允许您在配置文件不存在的情况下抑制错误:

$this->config->load('blog_settings', FALSE, TRUE

自动加载

如果您发现您需要全局特定的配置文件,则可以让系统自动加载它。为此,打开位于application / config / autoload.phpautoload.php文件,并按照文件中的说明添加配置文件。

获取配置项目

要从配置文件中检索项目,请使用以下函数:

$this->config->item('item_name'

其中,item_name是要检索的$ config数组索引。例如,要获取您的语言选择,您需要执行以下操作:

$lang = $this->config->item('language'

如果您尝试获取的项目不存在,该函数将返回NULL。

如果您使用$ this-> config-> load函数的第二个参数来将您的配置项分配给特定的索引,您可以通过在$ this-> config->第二个参数中指定索引名称来检索它。 > item()函数。例:

// Loads a config file named blog_settings.php and assigns it to an index named "blog_settings" $this->config->load('blog_settings', TRUE // Retrieve a config item named site_name contained within the blog_settings array $site_name = $this->config->item('site_name', 'blog_settings' // An alternate way to specify the same item: $blog_config = $this->config->item('blog_settings' $site_name = $blog_config['site_name'];

设置配置项

如果您想要动态设置配置项目或更改现有项目,可以使用以下方法:

$this->config->set_item('item_name', 'item_value'

其中item_name是要更改的$ config数组索引,item_value是其值。

环境

您可能根据当前环境加载不同的配置文件。环境常量在index.php中定义,并在“处理环境”部分详细介绍。

要创建环境特定的配置文件,请在application / config / {ENVIRONMENT} / {FILENAME} .php中创建或复制配置文件

例如,要创建一个仅限产品的config.php,您应该:

  • 创建目录application / config / production /

当您将环境常量设置为“生产”时,将加载新生产型config.php的设置。

您可以将以下配置文件放置在环境特定的文件夹中:

  • 默认的CodeIgniter配置文件

注意

CodeIgniter总是首先加载全局配置文件(即application / config /中的文件),然后尝试加载当前环境的配置文件。这意味着您没有义务将所有配置文件放置在环境文件夹中。只有在每个环境中更改的文件。另外,您不必复制环境配置文件中的所有配置项目。只有您希望为您的环境更改的配置项目。环境文件夹中声明的配置项总是覆盖全局配置文件中的配置项。

类参考

class CI_Config$config

所有加载配置值的数组

$is_loaded

所有加载的配置文件的数组

item($item[, $index=''])

参数:$ item(string) - 配置项目名称$ index(string) - 索引名称
返回:配置项目值或NULL,如果未找到
返回类型:杂类

  • $ itemstring) - 配置项目名称

返回:配置项值或NULL,如果未找到

返回类型:混合

取一个配置文件项目。

set_item($item, $value)

参数:$ item(string) - 配置项目名称$ value(字符串) - 配置项目值
返回类型:空虚

  • $ itemstring) - 配置项目名称

返回类型:void

将配置文件项目设置为指定值。

slash_item($item)

参数:$ item(string) - 配置项目名称
返回:使用尾部正斜杠配置项目值,如果未找到,则使用NULL
返回类型:

  • $ itemstring) - 配置项目名称

返回:使用尾部正斜杠配置项目值,如果未找到则为NULL

返回类型:混合

这个方法和`item()`是一样的,只不过它会在该项目的末尾添加一个正斜杠(如果存在的话)。

load([$file = ''[, $use_sections = FALSE[, $fail_gracefully = FALSE]]])

参数:$ file(string) - 配置文件名$ use_sections(bool) - 配置值是否应该加载到它们自己的部分(主配置数组的索引)$ fail_gracefully(bool) - 是否返回FALSE或显示错误消息
返回:成功为TRUE,失败为FALSE
返回类型:布尔

  • $ file字符串) - 配置文件名

返回:成功时为TRUE,失败时为FALSE

返回类型:布尔值

加载配置文件。

site_url()

返回:网站网址
返回类型:

base_url()

返回:基本网址
返回类型:

system_url()

返回:指向您的CI系统/目录的URL
返回类型: