2008-10-30 01:48
percila
关于ZF中Zend_Cache_Frontend_Page的问题
初来乍到,有看不明白的就问了,呵呵,麻烦大家了....................................
再学ZF过程中遇到了Zend_Cache_Frontend_Page,觉得比较好用。。。但是有点复杂。。。
比如我再INDEX的controller中这么写
class IndexController extends Aki_Controller_Action
{
public function init()
{
self::_init();
require_once 'Zend/Cache.php';
$frontendOptions = array('lifetime' => 7200,'make_id_with_post_variables' => true[color=#000000]
[/color]);
$backendOptions = array('cache_dir' => '/cache');
// obtenir un objet Zend_Cache_Frontend_Page
$cache = Zend_Cache::factory('Page', 'File', $frontendOptions, $backendOptions);
$cache->start();
}}
俺的问题一:那么这样是否应当会CACHE这个CONTROLLER下面所有的VIEW呢?(或者应当说是会CACHE这个CONTROLLER下面所有ACTION完毕后所产生的结果页....?)
俺的问题二:如果真是这样的话,那么我要CACHE所有CONTROLLER的结果页面岂非要再每一个CONTROLLER中都写这么多代码?有没有比较简单的办法呢,比如我可以在根下的那个index.php中直接写入类似以下的代码(套用手册中的代码下)
$frontendOptions = array( 'lifetime' => null,
'regexps' => array(
'^/$' => array('cache' => true),/*缓冲整个IndexController,其实就是一斜杠 */
'^/index/' => array('cache' => true),/*手册上这句写的也是将IndexController这个缓冲。。。俺的问题三:我不知道这么说是否正确呢?缓冲的应当是这个CONTROLLER的结果页面吧,对于函数类数据查询什么的应当是没有缓冲的吧?这局和上面那句有什么区别呢*/
'^/article/view/' => array(
'cache' => true,
'cache_with_post_variables' => true,/*问题四:这个我真不知道怎么理解了。。。是我看晕了书么?为什么连POST过来的数据也CACHE呢?有什么用呢*/
'make_id_with_post_variables' =>true /*问题五:俺承认,俺英文真的很垃圾。。。这个的意思难道是用POST过来的数据的某个特点生成CACHE中的用来存贮/提取用的唯一ID?*/
)
)
)
$backendOptions = array( 'cache_dir' => '/tmp/');
$cache = Zend_Cache::factory('Page', 'File', $frontendOptions, $backendOptions);
$cache->start();
补充个问题。。。最后start的时候。。。真的不用指定一个标示么。。。
以上六个小问题。。。麻烦大家了。。。谢谢