如何在Zend Framework中缓存布局内容

时间:2010-11-07 17:38:19

标签: zend-framework caching optimization layout page-caching

如何在Zend Framework中实现布局内容的缓存?

layout.phtml我这样做:$this->layout->content,我想要缓存此变量的内容。布局中的其他小部件是实时的(或以其他方式缓存)。

最好的赌注是:

  • 静态缓存(最快)
  • 页面缓存

我的网页已经有唯一的网页ID(canonical),因此可以用作网页缓存标记。

可能看起来我必须重载布局的__get属性。

我正在尝试做一些类似于SO的布局(顶部的用户面板,所有的缓存)。
我假设,网站应该没有JavaScript。

1 个答案:

答案 0 :(得分:0)

您可能想查看Front Controller Cache plugin weierophinney描述的内容。问题可能是您不希望脚本在缓存命中时停止。因此,您没有exit;脚本,您可以在插件中使用$request->setDispatched(true)。 (你需要一个新的请求对象,用于每个不同的可缓存) 另一种方法可能是您不使用插件中的dispatchLoopStartup而是preDispatch并重置调度。
它们实际上取决于你如何加载所有其他东西(无论是否缓存)。 (例如,ActionStack将新请求推送给调度员)。