/** * Retrieve translate object * * @throws Zend_Application_Resource_Exception if registry key was used * already but is no instance of Zend_Translate * @return Zend_Translate */ public function getTranslate() { if (null === $this->_translate) { $this->buildLog(); // retrieve cache if requested if (isset($this->_options['cacheEnabled']) && $this->_options['cacheEnabled']) { // check for cachemanager in bootstrap if (!$this->getBootstrap()->hasPluginResource('cachemanager')) { throw new Zend_Application_Resource_Exception("You must configure the cachemanager with " . "the key {$this->getCacheKey()}"); } // bootstrap the cachemanager and retrieve it /** @var $cacheManager Zend_Cache_Manager */ $cacheManager = $this->getBootstrap()->bootstrap('cachemanager')->getResource('cachemanager'); // check for the given key if (!$cacheManager->hasCache($this->getCacheKey())) { throw new Zend_Application_Resource_Exception("You must configure the cachemanager with " . "the key {$this->getCacheKey()}"); } // set cache for translator Zend_Translate_Adapter::setCache($cacheManager->getCache($this->getCacheKey())); } // fetch translate object into local variable $this->_translate = parent::getTranslate(); } return $this->_translate; }
protected function tearDown() { // restore static variables if (isset($this->cache)) { Zend_Translate_Adapter::setCache($this->cache); unset($this->cache); } else { Zend_Translate_Adapter::removeCache(); } // unset the registry Zend_Registry::_unsetInstance(); }
/** * Sets a cache for all instances of Zend_Translate * * @param Zend_Cache_Core $cache Cache to store to * @return void */ public static function setCache(Zend_Cache_Core $cache) { Zend_Translate_Adapter::setCache($cache); }