Zend Framework教程之Zend_Config_Ini用法分析
本文實(shí)例講述了Zend Framework教程之Zend_Config_Ini用法。分享給大家供大家參考,具體如下:
Zend_Config_Ini允許開發(fā)者通過嵌套的對象屬性語法在應(yīng)用程序中用熟悉的 INI 格式存儲和讀取配置數(shù)據(jù)。INI 格式在提供擁有配置數(shù)據(jù)鍵的等級結(jié)構(gòu)和配置數(shù)據(jù)節(jié)之間的繼承能力方面具有專長。配置數(shù)據(jù)等級結(jié)構(gòu)通過用點(diǎn)或者句號 (.)分離鍵值。一個(gè)節(jié)可以擴(kuò)展或者通過在節(jié)的名稱之后帶一個(gè)冒號(:)和被繼承的配置數(shù)據(jù)的節(jié)的名稱來從另一個(gè)節(jié)繼承。
parse_ini_file
Zend_Config_Ini 使用parse_ini_file()PHP 函數(shù)。請復(fù)習(xí)這個(gè)文檔了解它的特定行為,它在Zend_Config_Ini中使用,例如true, false, yes, no 和 null 這些特殊的值如何操作。
鍵分離器
缺省地,鍵分離器字符是句號(.)。然而,這個(gè)可以通過當(dāng)構(gòu)造Zend_Config_Ini對象時(shí)修改$options key 'nestSeparator' 被修改。例如:
$options['nestSeparator'] = ':'; $config = new Zend_Config_Ini('/path/to/config.ini', 'staging', $options);
例 :使用 Zend_Config_Ini
這個(gè)例子示例了從 INI 文件加載配置數(shù)據(jù)的Zend_Config_Ini的基本用法。
在這個(gè)例子中有生產(chǎn)系統(tǒng)(production system)和開發(fā)系統(tǒng)(staging system)的配置數(shù)據(jù)。
因?yàn)殚_發(fā)系統(tǒng)配置數(shù)據(jù)和生產(chǎn)系統(tǒng)的配置數(shù)據(jù)類似,所以開發(fā)系統(tǒng)的節(jié)從生產(chǎn)系統(tǒng)的節(jié)繼承。
在這個(gè)案例中,結(jié)果(decision)是任意的并且它可以反過來做,即生產(chǎn)系統(tǒng)節(jié)從開發(fā)系統(tǒng)節(jié)繼承,盡管這不可能用于更復(fù)雜的情形。
接著,假定下面的配置數(shù)據(jù)包含在/path/to/config.ini中:
生產(chǎn)站點(diǎn)配置數(shù)據(jù)
[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
開發(fā)站點(diǎn)配置數(shù)據(jù)從生產(chǎn)站點(diǎn)配置數(shù)據(jù)集成并如果需要可以重寫
[staging : production] database.params.host = dev.example.com database.params.username = devuser database.params.password = devsecret
接著,假定開發(fā)者需要從INI文件取開發(fā)配置數(shù)據(jù)。這非常簡單,只要指定INI文件和開發(fā)系統(tǒng)節(jié)就可以加載這些數(shù)據(jù)了:
$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 構(gòu)造器參數(shù):
參數(shù) | 注釋 |
---|---|
$filename | 要加載的 INI 文件。 |
$section | 在INI文件中 [section] (節(jié))將被加載。把這個(gè)參數(shù)設(shè)置為null,所有的節(jié)將被加載。另外,一個(gè)節(jié)名稱的數(shù)組被提供給加載多個(gè)節(jié)。 |
$options = false | 選項(xiàng)數(shù)組。下面的鍵被支持:
|
更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《Yii框架入門及常用技巧總結(jié)》、《ThinkPHP入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Zend Framework框架的PHP程序設(shè)計(jì)有所幫助。
- Zend Framework教程之Zend_Config_Xml用法分析
- 基于Zend的Config機(jī)制的應(yīng)用分析
- Zend Framework教程之配置文件application.ini解析
- Zend Framework過濾器Zend_Filter用法詳解
- Zend Framework實(shí)現(xiàn)自定義過濾器的方法
- Zend Framework校驗(yàn)器Zend_Validate用法詳解
- Zend Framework常用校驗(yàn)器詳解
- Zend Framework入門教程之Zend_Session會話操作詳解
- Zend Framework入門教程之Zend_Mail用法示例
- Zend Framework入門教程之Zend_Db數(shù)據(jù)庫操作詳解
- Zend Framework開發(fā)入門經(jīng)典教程
- Zend Framework入門教程之Zend_Config組件用法詳解
相關(guān)文章
Thinkphp中數(shù)據(jù)按分類嵌套循環(huán)實(shí)現(xiàn)方法
這篇文章主要介紹了Thinkphp中數(shù)據(jù)按分類嵌套循環(huán)實(shí)現(xiàn)方法,適用于嵌套循環(huán)具有關(guān)聯(lián)性的情況,是比較實(shí)用的技巧,需要的朋友可以參考下2014-10-10laravel框架中路由設(shè)置,路由參數(shù)和路由命名實(shí)例分析
這篇文章主要介紹了laravel框架中路由設(shè)置,路由參數(shù)和路由命名,結(jié)合實(shí)例形式分析了laravel框架中路由的設(shè)置、請求處理、映射、命名等相關(guān)操作技巧,需要的朋友可以參考下2019-11-11Laravel使用Caching緩存數(shù)據(jù)減輕數(shù)據(jù)庫查詢壓力的方法
這篇文章主要介紹了Laravel使用Caching緩存數(shù)據(jù)減輕數(shù)據(jù)庫查詢壓力的方法,以項(xiàng)目實(shí)例形式較為詳細(xì)的分析了Laravel框架使用Caching緩存的原理與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-03-03YiiFramework入門知識點(diǎn)總結(jié)(圖文教程)
這篇文章主要介紹了YiiFramework入門知識點(diǎn),結(jié)合圖文形式總結(jié)分析了YiiFramework創(chuàng)建的具體步驟及使用的相關(guān)注意事項(xiàng),需要的朋友可以參考下2015-12-12PHP使用Redis隊(duì)列執(zhí)行定時(shí)任務(wù)實(shí)例講解
這篇文章主要介紹了PHP使用Redis隊(duì)列執(zhí)行定時(shí)任務(wù)實(shí)例講解,redis隊(duì)列是比較常用的功能,有感興趣的同學(xué)可以學(xué)習(xí)下2021-03-03