Symfony2 - 为什么要使用XML进行设置/配置?

Pie*_*NAY 13 xml yaml configuration-files symfony

对于每种类型的文件,是否有兴趣使用XML over YAML:

  • 配置
  • 安全
  • 路由
  • 服务
  • 译文

我想全局询问XML vs YAML和JSON,但我会坚持这些主题:)

Vit*_*ian 13

在我公司的项目中,我们使用上述各点,YAML因为它更具可读性.最可读的.最可读的.


编辑:

唯一的抽象的情况下,我能想象使用XMLYAML-也许是一些动态文件的作家,因为它是更容易操作使用节点SimpleXML或类似的东西.例如,如果您需要定义一些配置文件,请在测试中构建模式等...

但很难想象另一种情况.


另一个编辑:

由于我的回答被接受了,我不能不同意m2mdas - 正如他在下面回答中提到的,使用另一个有意义的XML是IDE的自动完成支持.


Mun*_*Das 10

xml congiruration的优点是IDE自动完成和即时验证.作为具体模式定义定义的元素,IDE可以立即验证元素,而这在YAML或JSON中是不可能的.另外我认为Symfony在处理之前根据定义验证配置中的xml元素.

编辑:

通过验证,我的意思是根据定义的模式验证元素结构.最好在处理之前验证配置.例如,services.yml具有数百个服务对象定义的数据在第99个服务定义中存在错误.Yaml解析器将逐步解析,创建昂贵的cpu密集型服务对象,并在第99次定义时失败.而对于已service.xml定义的模式,您可以验证元素结构并在可以的情况下处理它们.显然第二个过程是有效的.


sef*_*rov 8

Fabien Potencier在他的博客上写了关于在YAML上使用XML的优点:

  • 加载XML文件时,会使用内置的services.xsd文件自动验证它;

  • XML可以在IDE中自动完成;

  • XML格式比YAML格式快;

  • XML格式没有外部依赖关系(YAML格式依赖于sfYAML组件).

虽然这篇文章是为symfony1.x编写的,但这些点也绝对可以应用于Symfony2.

http://fabien.potencier.org/article/15/symfony-service-container-using-xml-or-yaml-to-describe-services