生成PHP文件来缓存XML数据


Generating PHP file to cache XML data

我目前正在使用Zend FrameworkPHP 5.3开发Web应用程序。我有一个XML文件,包含配置和映射信息(+- 1500行)。对于每个请求,我执行xpath查询以从该XML文件获取信息。在XML文件中找到的信息是静态的,在部署应用程序后不会更改。

在第一次请求时生成一个包含XML信息的静态数组的php文件,然后在每次请求时加载该php文件以获取信息,而不是在XML上进行查询,这是一个很好的做法

可以使用var_export将解析后的配置文件缓存为源文件。

生成代码来缓存资源是在Zend框架的几个地方实现的,例如自动加载器,所以我认为这是一个很好的实践。

还有另一种方法来缓存它-序列化(确保序列化一个数组,而不是一个SimpleXML对象)或Zend_Cache或多或少做相同的,但在如何存储结果方面更灵活。

由于XML在部署后不会更改,因此我认为最好在本地开发环境中转换XML,而不是在需要时在生产系统中转换XML。在生产系统上生成不需要任何验证就会自动包含的源代码,这不是一个好主意。

我不是很熟悉XSLT,但是根据XML的具体结构,它可能是您的一种选择。