Zend_Config_Ini容許開發者經過嵌套的對象屬性語法在應用程序中用
熟
悉的 IN
I 格式存儲和
讀取配置數據。INI 格式在提供擁有配置數據鍵的等級結構和配置數據節
之間的繼承能力方面具備專長。配置數據等級結構經過用點或者句號 (.)分離鍵值。一個節能夠擴展或者通
過在節的名稱以後帶一個冒號(
:
)和被繼
承的配置數據
的節的名稱來從另外一個節繼承。
1. Zend_Config_Ini 構造器
$options['nestSepara
tor'] = ':';
// 修改鍵分離器,缺省是句號(.)
$config = new Zend_Config_Ini
('/path/to/config.ini',
'stagi
ng', $options);
參數說明:
參數
註釋
$filename
要加載的 INI 文件。
$section
在INI文件中 [section] (節)將被加載。把這個參數
設置爲null,全部的節將被加載。另外,一個節名稱
的數組被提供給加載多個節。
$options
選項數組。下面的鍵被支持:
* allowModifications
:設置
爲true 容許隨後加載文
件更改
,缺省爲false
* nestSeparator:設置嵌套字符,缺省爲"."
2. 使用 Zend_Config_Ini
這個例子示例了從 INI 文件加載配置數據的Zend_Config_Ini的基本用法。在這個例子中有生產系統(production system)和開發
系統(staging system)的配置數據。由於開發
系統配置數據和生產系統的配置數據相似,因此開發系統的節從生產系統的節繼承。在這個案例中,結果 (decision)是任意的而且它能夠反過來作,即生產系統節從開發系統節繼
承,儘管這不可能用於更復雜的情形。接着,假定下
面的配置數據包含在 /path/to/config.ini中:
; 生產站點配置數據
[production
]
webhost
= www.example.com
database.adapter
= pdo_mysql
database.params.host
= db.example.com
database.params.username = dbuser
database.params.password = secret
database.params.dbname
= dbname
; 開發站點配置數據從生產站
點配置數據集成並若是須要可
以重寫
[staging : production]
database.params.host
= dev.e
xample.com
database.params.username = devuser
database.params.password = devs
ecret
假定開發者須要從INI文件取開發配置數據。這很是簡單,只要指定INI文件
和開發系
統節就能夠加載這些數據了:
$config = new Zend_Config_Ini(
'/path/to/config.ini', 'staging');
echo $config->database->params->host;
// 輸
出
"dev.exampl
e.com"
echo $config->datab
ase-
>params->dbname; // 輸
出 "dbname"