Zend Cache前端

时间:2013-06-18 20:53:39

标签: php zend-framework zend-cache

我在 Bootstrap.php 中使用此功能来缓存我的控制器,我只需要缓存一些控制器我不需要缓存索引控制器和文章控制器作为示例 我需要缓存问题控制器,但它不起作用。这个函数缓存了我的所有控制器

protected function _initCache()
{
    mb_internal_encoding("UTF-8");
    $dir = "/var/www/data/cache/all";

   $frontendOptions = array(
        'lifetime' => 3600,
        'content_type_memorization' => true,
        'default_options'           => array(
        'cache' => true,
        'cache_with_get_variables' => true,
        'cache_with_post_variables' => true,
        'cache_with_session_variables' => true,
        'cache_with_cookie_variables' => true,
        ),
    'regexps' => array(

             '^/$' => array('cache' => false),
            "^/question/" => array('cache' => true),
            "^/article/" => array('cache' => false),
             )
    );
    $backendOptions = array(
            'cache_dir' =>$dir
    );

    // getting a Zend_Cache_Frontend_Page object
    $cache = Zend_Cache::factory('Page',
                         'File',
                         $frontendOptions,
                         $backendOptions);

    $cache->start();
}

所以我能做什么我尝试了所有的解决方案请帮助我。  感谢

1 个答案:

答案 0 :(得分:0)

使用该代码创建一个控制器插件,并检测请求。 有点像...

if($request->getControllerName() == 'index' || ... == 'article') {
return;
}
mb_internal_encoding("UTF-8");
...