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.php
的autoload.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,如果未找到 |
返回类型: | 杂类 |
$ item
(string
) - 配置项目名称
返回:配置项值或NULL,如果未找到
返回类型:混合
取一个配置文件项目。
set_item($item, $value)
参数: | $ item(string) - 配置项目名称$ value(字符串) - 配置项目值 |
---|---|
返回类型: | 空虚 |
$ item
(string
) - 配置项目名称
返回类型:void
将配置文件项目设置为指定值。
slash_item($item)
参数: | $ item(string) - 配置项目名称 |
---|---|
返回: | 使用尾部正斜杠配置项目值,如果未找到,则使用NULL |
返回类型: | 杂 |
$ item
(string
) - 配置项目名称
返回:使用尾部正斜杠配置项目值,如果未找到则为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 |
---|---|
返回类型: | 串 |