PHP - 使用XML作为配置文件是比属性更好的元素还是相反?

时间:2010-03-03 21:05:49

标签: php xml standards config

我在PHP中使用XML作为配置文件(使用SimpleXML),在创建配置文件时更像是标准。

在元素中使用所有值还是使用属性?

元素示例:

<database>
   <user>test-user</user>
   <pass>test-pass</pass>
</database>

属性示例:

<database user="test-user" pass="test-pass"></database>

这两种方式都有什么好处吗?

其他语言也可能需要读取相同的配置文件,例如Java和Perl。

2 个答案:

答案 0 :(得分:3)

  

采用者提出的最古老的问题   XML是何时使用元素和   何时在XML设计中使用属性。   与大多数设计问题一样,这个   问题很少有绝对的答案,   但开发人员也经历了一次   缺乏非常明确的指导方针来帮助   他们做出这个决定。

请参阅IBM的Principles of XML design: When to use elements versus attributes。非常好的文章。

这是一个片段:

根据我与XML用户合作的经验,第一个问题是迄今为止最常见的问题。在某些情况下,答案非常明确:

  • 如果有问题的信息本身可以用元素标记,请将其放在元素中。
  • 如果信息适用于属性表单,但最终可能作为同一元素上同名的多个属性,请改用子元素。
  • 如果要求信息采用标准的类似DTD的属性类型,例如ID,IDREF或ENTITY,请使用属性。
  • 如果信息不应针对空白区域进行标准化,请使用元素。 (XML处理器以可以更改属性值原始文本的方式规范化属性。)

答案 1 :(得分:-2)

XML被发明为一种人类可读的格式,但它是如此形式化,以至于没有人敢于手动编辑或甚至阅读它。

由于没有人会阅读它,我建议使用PHP本身。

<?
    $config['db']['user']="user";
    $config['db']['pass']="pass";
?>  

它更安全可靠。