首頁 php教程 PHP开发 Zend Framework教程之Zend_Config_Xml用法分析

Zend Framework教程之Zend_Config_Xml用法分析

Dec 26, 2016 pm 03:31 PM

本文實例講述了Zend Framework中Zend_Config_Xml用法。分享給大家供大家參考,具體如下:

Zend_Config_Xml 讓開發者能夠儲存設定資料到一個簡單XML格式並透過嵌入物件屬性語法來讀取。

XML檔案的根元素(root element)不相關並可以任意命名。頂級的XML元素和配置資料的節相對應。

XML格式透過嵌入XML元素到節一級元素(section-level elements)的下面來支援等級結構組織。

葉一級(leaf-level)的XML元素和配置資料的值相對應。節繼承透過一個特殊的XML屬性名為extends來支持,與之相對應的這個屬性的值透過擴展節(extending section)來繼承.

返回類型

讀入Zend_Config_Xml中的配置資料總是返回字串。資料從字串到其它類型的轉換留給開發者來適應他們特定的需求。

例: 使用Zend_Config_Xml

這個範例範例了從INI檔案載入設定資料的Zend_Config_Xml的基本用法。在這個範例中有生產系統(production system)和開發系統(staging system)的設定資料。因為開發系統配置資料和生產系統的配置資料類似,所以開發系統的節從生產系統的節繼承。在這個案例中,結果(decision)是任意的並且它可以反過來做,即生產系統節從開發系統節繼承,儘管這不可能用於更複雜的情況。接著,假設下面的設定資料包含在/path/to/config.xml中:

<?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>
登入後複製

   

接著,假定開發者需要從XML檔案中擷取開發設定資料。這非常簡單,只要指定XML檔案和開發系統節就可以載入這些資料了:

$config = new Zend_Config_Xml(&#39;/path/to/config.xml&#39;, &#39;staging&#39;);
echo $config->database->params->host;  // 输出 "dev.example.com"
echo $config->database->params->dbname; // 输出 "dbname"
登入後複製

   

例:在Zend_Config_Xml 使用標籤(tag)屬性

Zend_Config_Xml 使用標籤(tag)屬性節點。它們都利用屬性。 因為 extends 和 value 屬性是保留關鍵字(後者是第二種使用屬性的方法),它們可能不會被使用。 第一種方法使用屬性是把屬性加到父節點,它本身就變成了子節點:

<?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>
登入後複製

   

另一種方法也不會使配置變小,但使維護變得容易,是因為你需要要寫標籤名兩次。你可以建立一個空標籤,它在 value 屬性裡包含它的值:

<?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>
登入後複製

   

希望本文所述對大家基於Zend Framework框架的PHP程式設計有所幫助。

更多Zend Framework教程之Zend_Config_Xml用法分析相關文章請關注PHP中文網!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1268
29
C# 教程
1248
24