使用 PHP 查看缓存
Posted
技术标签:
【中文标题】使用 PHP 查看缓存【英文标题】:View Caching with PHP 【发布时间】:2011-12-16 22:19:11 【问题描述】:我有一个关于视图缓存的问题,假设我有以下代码块:
<?php
class View
public function render ( $template , $path = null )
// ...
这是我的“MainView”,该类在所有其他视图中都得到了扩展,例如“ClientsView”等。
但是,我想实现一种方法来拦截投降的请求,通过缓存,当我将这个参数传递给render方法时,我对缓存说,或者什么..我只是想保持控制..所以我有一个“ViewCacheStorage”,您将在其中存储缓存的文件,以及每个缓存到期的剩余时间,在我不必动摇主视图的情况下,最好的方法是什么?
【问题讨论】:
reocities.com/tablizer/myths.htm “无需摇动主视图”是什么意思? 不添加代码在主视图中创建视图缓存。 为什么render方法是视图的时候有参数? 因为这个方法是渲染模板,所以被其他视图调用 【参考方案1】:一个简单的选择:
class CachingView extends View
protected $cacheStorage;
public function render($template, $path = null)
if (! $this->getCacheStorage()->has($template))
$this->getCacheStorage()->store(parent::render($template, $path));
return $this->getCacheStorage()->get($template);
public function getCacheStorage()
if (empty($this->cacheStorage))
$this->cacheStorage = new ViewCacheStorage();
return $this->cacheStorage;
然后所有其他视图都从 CachingView 扩展。
【讨论】:
在这种情况下,我需要缓存的类,是吗? 我不太明白你的问题,但我已经更新了我的代码以包含一个 CacheStorage 类 - 也许现在对你来说更清楚了。以上是关于使用 PHP 查看缓存的主要内容,如果未能解决你的问题,请参考以下文章