我们可以使用闭包函数来解决这个问题。闭包函数是指定义在函数体中的函数,可以访问其周围的变量,具有缓存功能。以下是一个示例代码:
function getCachedResponse() { static $cache = null;
if (is_null($cache)) { // 第一次调用,执行耗时操作并缓存结果 $result = // 执行耗时操作 $cache = function () use ($result) { return $result; }; }
// 返回缓存结果 return $cache(); }
在第一次调用时,执行耗时操作并将结果缓存到闭包函数中。随后每次调用都直接返回缓存结果,不再执行耗时操作。这种方法可以大大提高代码的运行效率。