我打算使用一个类似于ASP.NET Web.Config文件格式的XML文档来存储我下一个PHP项目的配置。只有两个问题:
- 无法提供给浏览器。
- 必须在共享主机中可行。
我能想到的最好的方法是将文件类型更改为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进行配置设置,并防止配置文件被提供。