【发布时间】:2010-12-31 01:07:50
【问题描述】:
我计划使用 XML 文档来存储我的下一个 PHP 项目的配置,其格式类似于 ASP.NET Web.Config 文件。只有两个问题:
- 无法提供给浏览器。
- 必须在共享主机中可行。
我认为防止它被提供的最好方法是将文件类型更改为 PHP 并添加以下注释:
<?xml version="1.0" ?>
<!-- <?php if(!defined('FW_LOADED')){ exit; } ?> -->
<configuration>
....
</configuration>
这工作正常,但我不认为这是最好的解决方案。
还有其他人使用 XML 来存储 PHP 项目的配置吗?有哪些好的替代解决方案(如果未定义常量,而不是在退出脚本的文件开头添加注释)?
更新:
更改了问题标题以更好地反映我在寻找什么。抱歉,最初的问题标题具有误导性。使用 XML 进行配置不是问题。我要求使用 XML 进行配置时的最佳实践。 请停止建议我使用数组或 INI 文件...
我希望配置文件尽可能易于使用,即使对于非 php 开发人员也是如此。我选择 XML 是因为它是语言中立的。我已经在使用 SimpleXML 来解析配置(部分)。我也不担心编译或使其更快,因为可以使用 memcached 或其他实用程序来实现。
目前最好的解决方案是:
- 将其移出 Web 根目录。
- 可能,但希望配置尽可能靠近应用程序。
- 使用 htaccess 隐藏配置文件。
- 我不想冒有人破坏 .htaccess 文件而暴露配置文件的风险。
我想听听有经验的人在应用程序中使用 XML 进行配置设置,以及他们如何阻止配置文件被提供。
【问题讨论】:
-
为什么不使用parse_ini 来获取您的配置?它解析一个ini文件并返回一个数组。
标签: php xml configuration