?
This document uses PHP Chinese website manual Release
Config類提供了一種檢索配置首選項(xiàng)的方法。這些首選項(xiàng)可以來自默認(rèn)配置文件(application / config / config.php)或來自您自己的自定義配置文件。
注意
該類由系統(tǒng)自動(dòng)初始化,因此不需要手動(dòng)執(zhí)行。
使用配置類
手動(dòng)加載
自動(dòng)加載
解析配置文件
加載配置文件
- [獲取配置項(xiàng)目](about:blank#fetching-config-items)- [設(shè)置配置項(xiàng)目](about:blank#setting-a-config-item)- [環(huán)境](about:blank#environments)
)
類參考
默認(rèn)情況下,CodeIgniter有一個(gè)主配置文件,位于application / config / config.php。如果您使用文本編輯器打開文件,您會(huì)看到配置項(xiàng)存儲(chǔ)在名為$ config的數(shù)組中。
您可以將自己的配置項(xiàng)添加到該文件中,或者如果您希望將配置項(xiàng)保持分離(假設(shè)您甚至需要配置項(xiàng)),則只需創(chuàng)建自己的文件并將其保存在配置文件夾中即可。
注意
如果您創(chuàng)建自己的配置文件,請(qǐng)使用與主配置文件相同的格式,將您的項(xiàng)目存儲(chǔ)在名為$ config的數(shù)組中。CodeIgniter將智能地管理這些文件,因此即使數(shù)組具有相同的名稱(假設(shè)數(shù)組索引沒有與另一個(gè)命名相同),也不會(huì)發(fā)生沖突。
注意
CodeIgniter會(huì)自動(dòng)加載主配置文件(application / config / config.php),所以如果你創(chuàng)建了自己的配置文件,你只需要加載一個(gè)配置文件。
有兩種方法來加載配置文件:
要加載您的一個(gè)自定義配置文件,您將在需要它的控制器中使用以下功能:
$this->config->load('filename');
其中filename是配置文件的名稱,不帶.php文件擴(kuò)展名。
如果你需要加載多個(gè)配置文件,通常它們會(huì)被合并到一個(gè)主配置數(shù)組中。但是,如果在不同的配置文件中具有相同名稱的數(shù)組索引,則可能會(huì)發(fā)生名稱沖突。為避免沖突,您可以將第二個(gè)參數(shù)設(shè)置為TRUE,并將每個(gè)配置文件存儲(chǔ)在與配置文件的名稱相對(duì)應(yīng)的數(shù)組索引中。例:
// Stored in an array with this prototype: $this->config['blog_settings'] = $config$this->config->load('blog_settings', TRUE);
請(qǐng)參閱下面的“獲取配置項(xiàng)目”一節(jié),了解如何以這種方式設(shè)置配置項(xiàng)目。
第三個(gè)參數(shù)允許您在配置文件不存在的情況下抑制錯(cuò)誤:
$this->config->load('blog_settings', FALSE, TRUE);
如果您發(fā)現(xiàn)您需要全局特定的配置文件,則可以讓系統(tǒng)自動(dòng)加載它。為此,打開位于application / config / autoload.php 的autoload.php文件,并按照文件中的說明添加配置文件。
要從配置文件中檢索項(xiàng)目,請(qǐng)使用以下函數(shù):
$this->config->item('item_name');
其中,item_name是要檢索的$ config數(shù)組索引。例如,要獲取您的語(yǔ)言選擇,您需要執(zhí)行以下操作:
$lang = $this->config->item('language');
如果您嘗試獲取的項(xiàng)目不存在,該函數(shù)將返回NULL。
如果您使用$ this-> config-> load函數(shù)的第二個(gè)參數(shù)來將您的配置項(xiàng)分配給特定的索引,您可以通過在$ this-> config->第二個(gè)參數(shù)中指定索引名稱來檢索它。 > item()函數(shù)。例:
// 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'];
如果您想要?jiǎng)討B(tài)設(shè)置配置項(xiàng)目或更改現(xiàn)有項(xiàng)目,可以使用以下方法:
$this->config->set_item('item_name', 'item_value');
其中item_name是要更改的$ config數(shù)組索引,item_value是其值。
您可能根據(jù)當(dāng)前環(huán)境加載不同的配置文件。環(huán)境常量在index.php中定義,并在“處理環(huán)境”部分詳細(xì)介紹。
要?jiǎng)?chuàng)建環(huán)境特定的配置文件,請(qǐng)?jiān)赼pplication / config / {ENVIRONMENT} / {FILENAME} .php中創(chuàng)建或復(fù)制配置文件
例如,要?jiǎng)?chuàng)建一個(gè)僅限產(chǎn)品的config.php,您應(yīng)該:
創(chuàng)建目錄application / config / production /
將你現(xiàn)有的config.php復(fù)制到上面的目錄中
編輯application / config / production / config.php,使其包含您的生產(chǎn)設(shè)置
當(dāng)您將環(huán)境常量設(shè)置為“生產(chǎn)”時(shí),將加載新生產(chǎn)型config.php的設(shè)置。
您可以將以下配置文件放置在環(huán)境特定的文件夾中:
默認(rèn)的CodeIgniter配置文件
您自己的自定義配置文件
注意
CodeIgniter總是首先加載全局配置文件(即application / config /中的文件),然后嘗試加載當(dāng)前環(huán)境的配置文件。這意味著您沒有義務(wù)將所有配置文件放置在環(huán)境文件夾中。只有在每個(gè)環(huán)境中更改的文件。另外,您不必復(fù)制環(huán)境配置文件中的所有配置項(xiàng)目。只有您希望為您的環(huán)境更改的配置項(xiàng)目。環(huán)境文件夾中聲明的配置項(xiàng)總是覆蓋全局配置文件中的配置項(xiàng)。
class CI_Config$config
所有加載配置值的數(shù)組
$is_loaded
所有加載的配置文件的數(shù)組
item($item[, $index=''])
參數(shù): | $ item(string) - 配置項(xiàng)目名稱$ index(string) - 索引名稱 |
---|---|
返回: | 配置項(xiàng)目值或NULL,如果未找到 |
返回類型: | 雜類 |
$ item(string) - 配置項(xiàng)目名稱
$ index(string) - 索引名稱
返回:配置項(xiàng)值或NULL,如果未找到
返回類型:混合
取一個(gè)配置文件項(xiàng)目。
set_item($item, $value)
參數(shù): | $ item(string) - 配置項(xiàng)目名稱$ value(字符串) - 配置項(xiàng)目值 |
---|---|
返回類型: | 空虛 |
$ item(string) - 配置項(xiàng)目名稱
$ value(字符串) - 配置項(xiàng)目值
返回類型:void
將配置文件項(xiàng)目設(shè)置為指定值。
slash_item($item)
參數(shù): | $ item(string) - 配置項(xiàng)目名稱 |
---|---|
返回: | 使用尾部正斜杠配置項(xiàng)目值,如果未找到,則使用NULL |
返回類型: | 雜 |
$ item(string) - 配置項(xiàng)目名稱
返回:使用尾部正斜杠配置項(xiàng)目值,如果未找到則為NULL
返回類型:混合
這個(gè)方法和`item()`是一樣的,只不過它會(huì)在該項(xiàng)目的末尾添加一個(gè)正斜杠(如果存在的話)。
load([$file = ''[, $use_sections = FALSE[, $fail_gracefully = FALSE]]])
參數(shù): | $ file(string) - 配置文件名$ use_sections(bool) - 配置值是否應(yīng)該加載到它們自己的部分(主配置數(shù)組的索引)$ fail_gracefully(bool) - 是否返回FALSE或顯示錯(cuò)誤消息 |
---|---|
返回: | 成功為TRUE,失敗為FALSE |
返回類型: | 布爾 |
$ file(字符串) - 配置文件名
$ use_sections(bool) - 配置值是否應(yīng)該加載到它們自己的部分(主配置數(shù)組的索引)
$ fail_gracefully(bool) - 是否返回FALSE或顯示錯(cuò)誤消息
返回:成功時(shí)為TRUE,失敗時(shí)為FALSE
返回類型:布爾值
加載配置文件。
site_url()
返回: | 網(wǎng)站網(wǎng)址 |
---|---|
返回類型: | 串 |
base_url()
返回: | 基本網(wǎng)址 |
---|---|
返回類型: | 串 |
system_url()
返回: | 指向您的CI系統(tǒng)/目錄的URL |
---|---|
返回類型: | 串 |