如何在Zend Framework中实现布局内容的缓存?
在layout.phtml
我这样做:$this->layout->content
,我想要缓存此变量的内容。布局中的其他小部件是实时的(或以其他方式缓存)。
最好的赌注是:
我的网页已经有唯一的网页ID(canonical
),因此可以用作网页缓存标记。
可能看起来我必须重载布局的__get
属性。
我正在尝试做一些类似于SO的布局(顶部的用户面板,所有的缓存)。
我假设,网站应该没有JavaScript。
答案 0 :(得分:0)
您可能想查看Front Controller Cache plugin weierophinney描述的内容。问题可能是您不希望脚本在缓存命中时停止。因此,您没有exit;
脚本,您可以在插件中使用$request->setDispatched(true)
。 (你需要一个新的请求对象,用于每个不同的可缓存)
另一种方法可能是您不使用插件中的dispatchLoopStartup
而是preDispatch
并重置调度。
它们实际上取决于你如何加载所有其他东西(无论是否缓存)。 (例如,ActionStack将新请求推送给调度员)。