Zend_Config_Ini

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"
相關文章
相關標籤/搜索