(Yaf >=1.0.0)
Yaf_Config_Ini允許開(kāi)發(fā)者通過(guò)嵌套的對象屬性語(yǔ)法在應用程序中用熟悉的INI格式存儲和讀取配置數據。 INI格式在提供擁有配置數據鍵的等級結構和配置數據節之間的繼承能力方面具有專(zhuān)長(cháng)。 配置數據等級結構通過(guò)用點(diǎn)或者句號(.)分離鍵值。 一個(gè)節可以擴展或者通過(guò)在節的名稱(chēng)之后帶一個(gè)冒號(:)和被繼承的配置數據的節的名稱(chēng)來(lái)從另一個(gè)節繼承。
注意:
Yaf_Config_Ini利用PHP的函數parse_ini_file()來(lái)解析配置文件的。 請仔細查看這個(gè)函數的文檔,注意它的一些特殊用途。以及它傳遞給Yaf_Config_Ini的一些比如 "TRUE", "FALSE","yes", "no", 和"NULL"的特殊值的處理方式
示例 #1 Yaf_Config_Ini()example
這個(gè)例子說(shuō)明了使用Yaf_Config_Ini從一個(gè)INI配置文件中獲取配置數據的基本用法。 這個(gè)例子中既有生產(chǎn)環(huán)境的配置方法也有演示環(huán)境的配置方法。 因為演示環(huán)境的配置跟生產(chǎn)環(huán)境的非常類(lèi)似,所以演示環(huán)境的配置繼承了生產(chǎn)環(huán)境的配置。 在復雜的情況下,決定是任意的,也可以寫(xiě)成相反的。在更復雜的情況下,生產(chǎn)環(huán)境繼承自演示環(huán)境不是不可能的。 假設,以下配置數據都包含在/path/to/config.ini中:
; Production site configuration data [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 site configuration data inherits from production and ; overrides values as necessary [staging : production] database.params.host = dev.example.com database.params.username = devuser database.params.password = devsecret
<?php
$config = new Yaf_Config_Ini('/path/to/config.ini', 'staging');
var_dump($config->database->params->host);
var_dump($config->database->params->dbname);
var_dump($config->get("database.params.username"));
?>
以上例程的輸出類(lèi)似于:
string(15) "dev.example.com" string(6) "dbname" string(7) "devuser