Я только начал играть с ZFDebug этим утром, но мой Boostrap.php инициализирует кеш и сначала регистрирует его.В _initZFDebug я вызываю реестр, чтобы получить кеш.
protected function _initCache()
{
$frontendOptions = array(
'lifetime' => 3600*24*5, // cache lifetime of 5 days
'automatic_serialization' => true,
'logging' => false,
'caching' => true
);
$backendOptions = array(
'cache_dir' => './../data/cache/', // Directory where to put the cache files
'hashed_directory_level' => 2
);
$flickrFrontendOptions = array(
'lifetime' => 3600*24*5, // cache lifetime of 5 days
'automatic_serialization' => true,
'logging' => false,
'caching' => true
);
$flickrBackendOptions = array(
'cache_dir' => './../data/flickr/', // Directory where to put the cache files
'hashed_directory_level' => 2
);
// getting a Zend_Cache_Core object
$cache = Zend_Cache::factory(
'Core',
'File',
$frontendOptions,
$backendOptions);
Zend_Registry::set('cache', $cache);
$flickrcache = Zend_Cache::factory(
'Core',
'File',
$flickrFrontendOptions,
$flickrBackendOptions);
Zend_Registry::set('flickrcache', $flickrcache);
}
protected function _initZFDebug()
{
if ($this->hasOption('zfdebug'))
{
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace('ZFDebug');
$options = array(
'plugins' => array('Variables',
'Database' => array('adapter' => $db),
'File' => array('basePath' => $this->hasOption('zfdebug.basePath')),
'Cache' => array('backend' => Zend_Registry::get('cache')->getBackend()),
'Exception')
);
$debug = new ZFDebug_Controller_Plugin_Debug($options);
$this->bootstrap('frontController');
$frontController = $this->getResource('frontController');
$frontController->registerPlugin($debug);
}
}