当前位置:首页 > PHP教程 > Zend > 列表

Zend Framework教程之Zend_Config_Xml用法分析

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-21 12:05:42 浏览: 评论:0 

这篇文章主要介绍了Zend Framework教程之Zend_Config_Xml用法,结合实例形式较为详细的分析了Zend_Config_Xml的功能,使用方法及相关注意事项,需要的朋友可以参考下.

本文实例讲述了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中:

  1. <?xml version="1.0"?> 
  2. <configdata> 
  3.   <production> 
  4.     <webhost>www.example.com</webhost> 
  5.     <database> 
  6.       <adapter>pdo_mysql</adapter> 
  7.       <params> 
  8.         <host>db.example.com</host> 
  9.         <username>dbuser</username> 
  10.         <password>secret</password> 
  11.         <dbname>dbname</dbname> 
  12.       </params> 
  13.     </database> 
  14.   </production> 
  15.   <staging extends="production"> 
  16.     <database> 
  17.       <params> 
  18.         <host>dev.example.com</host> 
  19.         <username>devuser</username> 
  20.         <password>devsecret</password> 
  21.       </params> 
  22.     </database> 
  23.   </staging> 
  24. </configdata> 

接着,假定开发者需要从XML文件取开发配置数据。这非常简单,只要指定XML文件和开发系统节就可以加载这些数据了:

  1. $config = new Zend_Config_Xml('/path/to/config.xml''staging'); 
  2. echo $config->database->params->host;  // 输出 "dev.example.com" 
  3. echo $config->database->params->dbname; // 输出 "dbname" 

例 :在 Zend_Config_Xml 使用标签(tag)属性

Zend_Config_Xml 也支持另外两种方法在配置文件里定义节点。它们都利用属性。 因为 extends 和 value 属性是保留关键字(后者是第二种使用属性的方法),它们可能不被使用。 第一种方法使用属性是把属性添加到父节点,它本身就变成了子节点:

  1. <?xml version="1.0"?> 
  2. <configdata> 
  3.   <production webhost="www.example.com"> 
  4.     <database adapter="pdo_mysql"> 
  5.       <params host="db.example.com" username="dbuser" password="secret" dbname="dbname"/> 
  6.     </database> 
  7.   </production> 
  8.   <staging extends="production"> 
  9.     <database> 
  10.       <params host="dev.example.com" username="devuser" password="devsecret"/> 
  11.     </database> 
  12.   </staging> 
  13. </configdata> 

另一种方法也不会使配置文件变小,但使维护变得容易,是因为你需要要写标签名两次。你可以创建一个空标签,它在 value 属性里包含它的值:

  1. <?xml version="1.0"?> 
  2. <configdata> 
  3.   <production> 
  4.     <webhost>www.example.com</webhost> 
  5.     <database> 
  6.       <adapter value="pdo_mysql"/> 
  7.       <params> 
  8.         <host value="db.example.com"/> 
  9.         <username value="dbuser"/> 
  10.         <password value="secret"/> 
  11.         <dbname value="dbname"/> 
  12.       </params> 
  13.     </database> 
  14.   </production> 
  15.   <staging extends="production"> 
  16.     <database> 
  17.       <params> 
  18.         <host value="dev.example.com"/> 
  19.         <username value="devuser"/> 
  20.         <password value="devsecret"/> 
  21.       </params> 
  22.     </database> 
  23.   </staging> 
  24. </configdata>

Tags: Framework Zend_Config_Xml

分享到: