Zend Framework页面缓存实例
一般使用工厂方式:Zend_Cache::factory()的创建缓存对象。
Zend_Cache::factory方法有四个参数:前端类型,后端类型,前端参数,后端参数。
以下为页面缓存实例:
classZend_Controller_ShawnextendsZend_Controller_Action
{
publicstatic$cache;
publicfunctioninit()
{
$frontendOptions=array(
'lifetime'=>3600,//缓存寿命
'debug_header'=>true,//true是打开debug,通常设为false
'regexps'=>array(
'^/$'=>array('cache'=>true),//所有页面都缓存
'^/index/'=>array('cache'=>true),//缓存index下所有action页
'^/index/search'=>array('cache'=>false),//对searchaction不缓存
),
'default_options'=>array(
'cache_with_get_variables'=>true,
'cache_with_post_variables'=>true,
'make_id_with_cookie_variables'=>true,//注意如果开了session要把这个打开
'cache_with_session_variables'=>true,//注意如果开了session要把这个打开
'cache_with_files_variables'=>true,
'cache_with_cookie_variables'=>true,//注意如果开了session要把这个打开
)
);
$backendOptions=array('cache_dir'=>'C:/www/zend/cache/');//缓存存放路径,必须存在并可写
self::$cache=Zend_Cache::factory('Page','File',$frontendOptions,$backendOptions);
self::$cache->start();//开始缓存
//如有需要,可以再其他页面进行缓存清理
Zend_Controller_Shawn::$cache->clean(Zend_Cache::CLEANING_MODE_ALL);
}
}
更多细节,可以参考Zend官方手册http://framework.zend.com/manual/1.12/en/zend.cache.frontends.html