【发布时间】:2016-01-20 14:13:22
【问题描述】:
在 JavaScript 中,您可以使用 Lazy Function Definitions 优化对函数的第 2 次 - 第 N 次调用,方法是仅在第一次调用函数时执行昂贵的一次性操作。
我想在 PHP 5 中做同样的事情,但不允许重新定义函数,也不允许重载函数。
实际上我想做的是如下所示,仅进行了优化,因此第 2 次 - 第 N 次调用(比如 25-100)不需要重新检查它们是否是第一次调用。
$called = false;
function foo($param_1){
global $called;
if($called == false){
doExpensiveStuff($param_1);
$called = true;
}
echo '<b>'.$param_1.'</b>';
}
PS 我曾考虑使用 include_once() 或 require_once() 作为函数中的第一行来只执行一次外部代码,但我听说这些也很昂贵。
有什么想法吗?还是有更好的方法来解决这个问题?
【问题讨论】:
标签: php design-patterns optimization