Eval()一个大的或多个小的


eval() one big or many small?

如果我有一个大的html页面,我从数据库检索,它有多个小的PHP标签,需要eval()。只对整个页面进行eval()处理,还是将其分解,只对小片段进行eval()处理,性能会更好?

与使用eval()相比,您将花费更多的时间来处理/分割。PHP在从文件加载/解析/执行代码方面已经相当高效了,所以让它做它擅长的事情吧,而不是事后猜测系统并增加额外的不必要的开销。

当然,如果您真的很喜欢它,您可以尝试这两种方法并做一些基准测试。

你的问题很难回答。然而,我可以给出的一个建议是,首先,您应该将问题封装到一个单独的函数中:

/**
 * @param $page
 * @return void
 */
function execute_page($page)
{
    # ... - fetch code from store based on $page parameter and execute it.
}

这样做之后,您不仅可以更改存储页面的位置,还可以更改执行页面的方式(块,一次)。

你的应用程序的其余部分只需要调用这个函数,你不需要再关心剩下的代码了。

然后您可以测试哪个方法/变体更快。