本质上,我有一个 PHP 页面,它调用了一些其他 HTML 以通过对象的方法呈现。它看起来像这样:
我的 PHP 页面:
// some content...
<?php
$GLOBALS["topOfThePage"] = true;
$this->renderSomeHTML();
?>
// some content...
<?php
$GLOBALS["topOfThePage"] = false;
$this->renderSomeHTML();
?>
第一个方法调用被缓存,但我需要 renderSomeHTML() 根据其在页面中的位置显示略有不同。我尝试传递给 $GLOBALS,但值没有改变,所以我假设它正在被缓存。
如果不通过方法传递参数或不缓存它,这是不可能的吗?任何帮助表示赞赏。这不是我的应用程序——它是 Magento。
编辑:
这是 Magento,它看起来正在使用 memcached。我试图通过 renderSomeHTML() 传递一个参数,但是当我在要呈现的 PHP 包含上使用 func_get_args() 时,出来的不是我放入其中的。
编辑:
再往下,我能够通过调用一个提取相同内容的不同方法并传入一个关闭缓存的参数来“使”缓存“无效”。感谢大家的帮助。