本文實例講述了Zend Framework教程之Zend_Config_Ini用法。分享給大家供大家參考,具體如下:
Zend_Config_Ini允許開發者通過嵌套的對象屬性語法在應用程序中用熟悉的 INI 格式存儲和讀取配置數據。INI 格式在提供擁有配置數據鍵的等級結構和配置數據節之間的繼承能力方面具有專長。配置數據等級結構通過用點或者句號 (.)分離鍵值。一個節可以擴展或者通過在節的名稱之后帶一個冒號(:)和被繼承的配置數據的節的名稱來從另一個節繼承。
parse_ini_file
Zend_Config_Ini 使用parse_ini_file()PHP 函數。請復習這個文檔了解它的特定行為,它在Zend_Config_Ini中使用,例如true, false, yes, no 和 null 這些特殊的值如何操作。
鍵分離器
缺省地,鍵分離器字符是句號(.)。然而,這個可以通過當構造Zend_Config_Ini對象時修改$options key 'nestSeparator' 被修改。例如:
$options['nestSeparator'] = ':';$config = new Zend_Config_Ini('/path/to/config.ini', 'staging', $options);
例 :使用 Zend_Config_Ini
這個例子示例了從 INI 文件加載配置數據的Zend_Config_Ini的基本用法。
在這個例子中有生產系統(production system)和開發系統(staging system)的配置數據。
因為開發系統配置數據和生產系統的配置數據類似,所以開發系統的節從生產系統的節繼承。
在這個案例中,結果(decision)是任意的并且它可以反過來做,即生產系統節從開發系統節繼承,盡管這不可能用于更復雜的情形。
接著,假定下面的配置數據包含在/path/to/config.ini中:
生產站點配置數據
[production]webhost = www.example.comdatabase.adapter = pdo_mysqldatabase.params.host = db.example.comdatabase.params.username = dbuserdatabase.params.password = secretdatabase.params.dbname = dbname
開發站點配置數據從生產站點配置數據集成并如果需要可以重寫
[staging : production]database.params.host = dev.example.comdatabase.params.username = devuserdatabase.params.password = devsecret
接著,假定開發者需要從INI文件取開發配置數據。這非常簡單,只要指定INI文件和開發系統節就可以加載這些數據了:
$config = new Zend_Config_Ini('/path/to/config.ini', 'staging');echo $config->database->params->host; // 輸出 "dev.example.com"echo $config->database->params->dbname; // 輸出 "dbname"
注意
表 Zend_Config_Ini 構造器參數:
參數 | 注釋 |
---|---|
$filename | 要加載的 INI 文件。 |
$section | 在INI文件中 [section] (節)將被加載。把這個參數設置為null,所有的節將被加載。另外,一個節名稱的數組被提供給加載多個節。 |
$options = false | 選項數組。下面的鍵被支持:
|