我正在尝试从CakePhp中的ZF2实现Zend Cache,以利用它的标记功能等。
我在/app/Lib/Cache/Engine/ZendCacheEngine.php中创建了一个类
class ZendCacheEngine extends CacheEngine {
//All abstract functions from Cake's CacheEngine are
public function init($settings = array()){
//Code here....
}
//Along with read, write, delete, etc...
}
目前,我在这些功能中只有一个打印“功能名称”并返回。我在努力调试正在进行的工作时这样做了。
在我的bootstrap.php中,我为自定义类设置了配置:
Cache::config('custom_zend', array(
'engine' => 'ZendCache',
'duration' => '+1 hours',
'probability' => 100,
));
当我尝试在我的控制器中使用它时,缓存读写函数被完全忽略。 (在我的情况下,函数名不打印,init函数除外)
public function news($id, $something) {
$result = Cache::read('news', 'custom_zend');
if (!$result) {
$result = $this->News->find('all'); // For the sake of simplicity here
Cache::write('news', $result, 'custom_zend');
}
$this->set('news',$news);
}
结束语,我假设文件位于正确的位置并且配置正确(因为我的自定义类中的init()函数被调用)。
我需要知道为什么实际的读/写/等等没有被调用。
答案 0 :(得分:0)
事实证明,init()没有正确设置$ settings数组,这就是为什么没有调用其他函数的原因。