生成基于php数组的php源代码

mar*_*-hi 4 php performance code-generation shared-hosting

我有一个不可修改的功能,需要几秒钟才能完成.该函数返回一个对象数组.结果每天只改变一次.

为了加快速度,我想使用APC缓存结果,但托管服务提供商(共享托管环境)不提供任何内存缓存解决方案(APC,memcache,...).

我找到的唯一解决方案是使用serialize()将数据存储到文件中,然后再将数据反序列化.

如何从数组中生成php源代码?后来我可以简单地打电话

require data.php
Run Code Online (Sandbox Code Playgroud)

将数据导入预定义变量.

谢谢!

更新:存储生成的.html是没有选项,因为输出是用户相关的.

Kin*_*nch 7

你的意思是这样的吗?

// File: data.php
<?php
return array(
  32,
  42
);


// Another file
$result = include 'data.php';
var_dump($result);
Run Code Online (Sandbox Code Playgroud)

这已经成为可能了.要更新文件,您可以使用类似的内容

file_put_contents('data.php', '<?php return ' . var_export($array, true) . ';');
Run Code Online (Sandbox Code Playgroud)

更新:但是,serialize()/ unserialize()和将序列化数组存储到文件中也没有任何问题.