PHP中的配置文件(XML vs YAML vs PHP文件)

PHP中的配置文件(XML vs YAML vs PHP文件),php,xml,configuration,yaml,Php,Xml,Configuration,Yaml,我正在做一个小实验。在过去,大多数人会将配置文件保存在php文件中,作为一组常量或一个具有looot属性的类。现在,我们看到像symfony这样的项目使用yaml或其他东西。我的问题是: 如果您可以选择三种不同的方式来存储配置文件:xml、yaml或php文件,您会选择哪一种?最重要的是:为什么 感谢您的帮助对我来说,这取决于谁将要触摸该配置 如果是开发人员,那么PHP文件是最好的,因为它们不需要任何额外的解析 如果是技术用户(例如,其他开发人员或系统管理员),那么就有了选择:复杂的配置文件最好

我正在做一个小实验。在过去,大多数人会将配置文件保存在php文件中,作为一组常量或一个具有looot属性的类。现在,我们看到像symfony这样的项目使用yaml或其他东西。我的问题是:

如果您可以选择三种不同的方式来存储配置文件:xml、yaml或php文件,您会选择哪一种?最重要的是:为什么


感谢您的帮助

对我来说,这取决于谁将要触摸该配置

如果是开发人员,那么PHP文件是最好的,因为它们不需要任何额外的解析

如果是技术用户(例如,其他开发人员或系统管理员),那么就有了选择:复杂的配置文件最好与结构化文件(如XML或YAML)一起使用,因为如果出现问题,破坏PHP代码的机会较小(您可以报告特定的解析错误,并提供修复建议)。简单的选择可以用PHP编写(但是如果有人忘记了引号字符,程序将失败,并出现奇怪的错误,或者如果错误只进入日志,程序将完全没有错误!)


如果是最终用户。。。那么,在我看来,不应该公开任何配置文件。您需要提供一个安装程序来处理一切(并生成机器可读的配置文件或将内容写入数据库)。

Palantir一针见血。使用您可以使用的最灵活的解决方案,负责维护配置的人员仍然可以理解该解决方案。从最灵活/技术性最强的php包含文件到最不灵活/技术性最弱的完整web前端!自从我开始使用ASP.NET以来,我已经使用XML很长时间了,但我总是认为我可能做了一些不符合标准的事情。您有一个出色的responseAn.ini文件,用于配置也是一个选项,而且可能是最为用户友好的