W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
配置類用于獲取配置參數(shù),這些參數(shù)可以來自于默認的配置文件(application/config/config.php), 也可以來自你自定義的配置文件。
注解
該類由系統(tǒng)自動初始化,你無需手工加載。
CodeIgniter 默認有一個主要的配置文件,位于 application/config/config.php 。 如果你使用文本編輯器打開它的話,你會看到配置項都存儲在一個叫做 $config 的數(shù)組中。
你可以往這個文件中添加你自己的配置項,或者你喜歡將你的配置項和系統(tǒng)的分開的話, 你也可以創(chuàng)建你自己的配置文件并保存到配置目錄下。
注解
如果你要創(chuàng)建你自己的配置文件,使用和主配置文件相同的格式,將配置項保存到名為 $config 的數(shù)組中。 CodeIgniter 會智能的管理這些文件,所以就算數(shù)組名都一樣也不會沖突(假設(shè)數(shù)組的索引沒有相同的)。
注解
CodeIgniter 會自動加載主配置文件(application/config/config.php),所以你只需要加載你自己 創(chuàng)建的配置文件就可以了。
有兩種加載配置文件的方式:
要加載你自定義的配置文件,你需要在 控制器 中使用下面的方法:
$this->config->load('filename');
其中,filename 是你的配置文件的名稱,無需 .php 擴展名。
如果你需要加載多個配置文件,它們會被合并成一個大的 config 數(shù)組里。盡管你是在不同的配置文件中定義的, 但是,如果有兩個數(shù)組索引名稱一樣的話還是會發(fā)生名稱沖突。為了避免沖突,你可以將第二個參數(shù)設(shè)置為 TRUE , 這樣每個配置文件中的配置會被存儲到以該配置文件名為索引的數(shù)組中去。例如:
// Stored in an array with this prototype: $this->config['blog_settings'] = $config
$this->config->load('blog_settings', TRUE);
請閱讀下面的 “獲取配置項” 一節(jié),學習如何獲取通過這種方式加載的配置。
第三個參數(shù)用于抑制錯誤信息,當配置文件不存在時,不會報錯:
$this->config->load('blog_settings', FALSE, TRUE);
如果你發(fā)現(xiàn)有一個配置文件你需要在全局范圍內(nèi)使用,你可以讓系統(tǒng)自動加載它。 要實現(xiàn)這點,打開位于 application/config/ 目錄下的 autoload.php文件, 將你的配置文件添加到自動加載數(shù)組中。
要從你的配置文件中獲取某個配置項,使用如下方法:
$this->config->item('item_name');
其中 item_name 是你希望獲取的 $config 數(shù)組的索引名,例如,要獲取語言選項, 你可以這樣:
$lang = $this->config->item('language');
如果你要獲取的配置項不存在,方法返回 NULL 。
如果你在使用 $this->config->load 方法時使用了第二個參數(shù),每個配置文件中的配置 被存儲到以該配置文件名為索引的數(shù)組中,要獲取該配置項,你可以將 $this->config->item() 方法的第二個參數(shù)設(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'];
如果你想動態(tài)的設(shè)置一個配置項,或修改某個已存在的配置項,你可以這樣:
$this->config->set_item('item_name', 'item_value');
其中,item_name 是你希望修改的 $config 數(shù)組的索引名,item_value 為要設(shè)置的值。
你可以根據(jù)當前的環(huán)境來加載不同的配置文件,index.php 文件中定義了 ENVIRONMENT 常量,在 處理多環(huán)境 中有更詳細的介紹。
要創(chuàng)建特定環(huán)境的配置文件,新建或復(fù)制一個配置文件到 application/config/{ENVIRONMENT}/{FILENAME}.php 。
例如,要新建一個生產(chǎn)環(huán)境的配置文件,你可以:
當你將 ENVIRONMENT 常量設(shè)置為 'production' 時,你新建的生產(chǎn)環(huán)境下的 config.php 里的配置將會加載。
你可以放置以下配置文件到特定環(huán)境的目錄下:
注解
CodeIgniter 總是先加載全局配置文件(例如,application/config/ 目錄下的配置文件), 然后再去嘗試加載當前環(huán)境的配置文件。這意味著你沒必要將所有的配置文件都放到特定環(huán)境的配置目錄下, 只需要放那些在每個環(huán)境下不一樣的配置文件就可以了。另外,你也不用拷貝所有的配置文件內(nèi)容到 特定環(huán)境的配置文件中,只需要將那些在每個環(huán)境下不一樣的配置項拷進去就行了。定義在環(huán)境目錄下的配置項, 會覆蓋掉全局的配置。
classCI_Config
$config
所有已加載的配置項組成的數(shù)組。
$is_loaded
所有已加載的配置文件組成的數(shù)組。
item($item[, $index=''])
參數(shù):
返回: Config item value or NULL if not found
返回類型: mixed
獲取某個配置項。
set_item($item, $value)
參數(shù):
返回類型: void
設(shè)置某個配置項的值。
slash_item($item)
參數(shù):
返回: Config item value with a trailing forward slash or NULL if not found
返回類型: mixed
這個方法和 item() 一樣,只是在獲取的配置項后面添加一個斜線,如果配置項不存在,返回 NULL 。
load([$file = ''[, $use_sections = FALSE[, $fail_gracefully = FALSE]]])
參數(shù):
返回: TRUE on success, FALSE on failure
返回類型: bool
加載配置文件。
site_url()
返回: Site URL
返回類型: string
該方法返回你的網(wǎng)站的 URL ,包括你在配置文件中設(shè)置的 "index" 值。
這個方法通常通過 URL 輔助函數(shù) 中函數(shù)來訪問。
base_url()
返回: Base URL
返回類型: string
該方法返回你的網(wǎng)站的根 URL ,你可以在后面加上樣式和圖片的路徑來訪問它們。
這個方法通常通過 URL 輔助函數(shù) 中函數(shù)來訪問。
system_url()
返回: URL pointing at your CI system/ directory
返回類型: string
該方法返回 CodeIgniter 的 system 目錄的 URL 。
注解
該方法已經(jīng)廢棄,因為這是一個不安全的編碼實踐。你的 system/ 目錄不應(yīng)該被公開訪問。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: