《PHP實(shí)戰(zhàn):Zend Framework教程之Zend_Config_Xml用法分析》要點(diǎn):
本文介紹了PHP實(shí)戰(zhàn):Zend Framework教程之Zend_Config_Xml用法分析,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
本文實(shí)例講述了Zend Framework中Zend_Config_Xml用法.分享給大家供大家參考,具體如下:PHP實(shí)例
Zend_Config_Xml 讓開發(fā)者能夠存儲(chǔ)配置數(shù)據(jù)到一個(gè)簡(jiǎn)單XML格式并通過嵌入對(duì)象屬性語法來讀取.PHP實(shí)例
XML文件的根元素(root element)不相關(guān)并可以任意命名.頂級(jí)的XML元素和配置數(shù)據(jù)的節(jié)相對(duì)應(yīng).PHP實(shí)例
XML格式通過嵌入XML元素到節(jié)一級(jí)元素(section-level elements)的下面來支持等級(jí)結(jié)構(gòu)組織.PHP實(shí)例
葉一級(jí)(leaf-level)的XML元素和配置數(shù)據(jù)的值相對(duì)應(yīng).節(jié)繼承通過一個(gè)特殊的XML屬性名為extends來支持,與之相對(duì)應(yīng)的這個(gè)屬性的值通過擴(kuò)展節(jié)(extending section)來繼承.PHP實(shí)例
返回類型PHP實(shí)例
讀入Zend_Config_Xml中的配置數(shù)據(jù)總是返回字串.數(shù)據(jù)從字符串到其它類型的轉(zhuǎn)換留給開發(fā)者來適應(yīng)他們特定的需求.PHP實(shí)例
例: 使用Zend_Config_XmlPHP實(shí)例
這個(gè)例子示例了從INI文件加載配置數(shù)據(jù)的Zend_Config_Xml的基本用法.在這個(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.xml中:
PHP實(shí)例
<?xml version="1.0"?> <configdata> <production> <webhost>www.example.com</webhost> <database> <adapter>pdo_mysql</adapter> <params> <host>db.example.com</host> <username>dbuser</username> <password>secret</password> <dbname>dbname</dbname> </params> </database> </production> <staging extends="production"> <database> <params> <host>dev.example.com</host> <username>devuser</username> <password>devsecret</password> </params> </database> </staging> </configdata>
接著,假定開發(fā)者需要從XML文件取開發(fā)配置數(shù)據(jù).這非常簡(jiǎn)單,只要指定XML文件和開發(fā)系統(tǒng)節(jié)就可以加載這些數(shù)據(jù)了:
PHP實(shí)例
$config = new Zend_Config_Xml('/path/to/config.xml', 'staging'); echo $config->database->params->host; // 輸出 "dev.example.com" echo $config->database->params->dbname; // 輸出 "dbname"
例 :在 Zend_Config_Xml 使用標(biāo)簽(tag)屬性PHP實(shí)例
Zend_Config_Xml 也支持另外兩種辦法在配置文件里定義節(jié)點(diǎn).它們都利用屬性. 因?yàn)?extends 和 value 屬性是保留關(guān)鍵字(后者是第二種使用屬性的辦法),它們可能不被使用. 第一種辦法使用屬性是把屬性添加到父節(jié)點(diǎn),它本身就變成了子節(jié)點(diǎn):PHP實(shí)例
<?xml version="1.0"?> <configdata> <production webhost="www.example.com"> <database adapter="pdo_mysql"> <params host="db.example.com" username="dbuser" password="secret" dbname="dbname"/> </database> </production> <staging extends="production"> <database> <params host="dev.example.com" username="devuser" password="devsecret"/> </database> </staging> </configdata>
另一種辦法也不會(huì)使配置文件變小,但使維護(hù)變得容易,是因?yàn)槟阈枰獙憳?biāo)簽名兩次.你可以創(chuàng)建一個(gè)空標(biāo)簽,它在 value 屬性里包含它的值:PHP實(shí)例
<?xml version="1.0"?> <configdata> <production> <webhost>www.example.com</webhost> <database> <adapter value="pdo_mysql"/> <params> <host value="db.example.com"/> <username value="dbuser"/> <password value="secret"/> <dbname value="dbname"/> </params> </database> </production> <staging extends="production"> <database> <params> <host value="dev.example.com"/> <username value="devuser"/> <password value="devsecret"/> </params> </database> </staging> </configdata>
更多關(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ù)庫操作技巧匯總》PHP實(shí)例
希望本文所述對(duì)大家基于Zend Framework框架的PHP程序設(shè)計(jì)有所贊助.PHP實(shí)例
《PHP實(shí)戰(zhàn):Zend Framework教程之Zend_Config_Xml用法分析》是否對(duì)您有啟發(fā),歡迎查看更多與《PHP實(shí)戰(zhàn):Zend Framework教程之Zend_Config_Xml用法分析》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/7261.html