本文實例講述了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.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.example.com database.params.username = devuser database.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"