Example #1
0
 /**
  * Internal method to check if the given cache supports tags
  *
  * @param Zend_Cache $cache
  */
 private static function _getTagSupportForCache()
 {
     $backend = self::$_cache->getBackend();
     if ($backend instanceof Zend_Cache_Backend_ExtendedInterface) {
         $cacheOptions = $backend->getCapabilities();
         self::$_cacheTags = $cacheOptions['tags'];
     } else {
         self::$_cacheTags = false;
     }
     return self::$_cacheTags;
 }
Example #2
0
 /**
  * Get cache backend type
  *
  * @return string
  */
 protected function _getBackendType()
 {
     $backendType = '';
     if ($this->_frontend) {
         $backend = $this->_frontend->getBackend();
         $backendClass = get_class($backend);
         $possibleCacheBackends = array('Zend_Cache_Backend_', 'Varien_Cache_Backend_');
         foreach ($possibleCacheBackends as $backendClassStart) {
             if (substr($backendClass, 0, strlen($backendClassStart)) == $backendClassStart) {
                 $backendType = substr($backendClass, strlen($backendClassStart));
                 break;
             }
         }
     }
     return $backendType;
 }
Example #3
0
 /**
  * Returns cache information
  *
  * @return array
  */
 public function getConfigCacheInfo()
 {
     $cacheConfig = $this->container->getParameter('shopware.cache');
     if ($this->cache->getBackend() instanceof \Zend_Cache_Backend_Apc) {
         $apcInfo = apc_cache_info('user');
         $info['files'] = $apcInfo['num_entries'];
         $info['size'] = $this->encodeSize($apcInfo['mem_size']);
     } else {
         if (!empty($cacheConfig['backendOptions']['cache_dir'])) {
             $dir = $cacheConfig['backendOptions']['cache_dir'];
         } elseif (!empty($cacheConfig['backendOptions']['slow_backend_options']['cache_dir'])) {
             $dir = $cacheConfig['backendOptions']['slow_backend_options']['cache_dir'];
         }
         $info = $this->getDirectoryInfo($dir);
     }
     $info['name'] = 'Shopware configuration';
     $backend = get_class($this->cache->getBackend());
     $backend = str_replace('Zend_Cache_Backend_', '', $backend);
     $info['backend'] = $backend;
     return $info;
 }
Example #4
0
 /**
  * {@inheritdoc}
  */
 public function getBackend()
 {
     return $this->_frontend->getBackend();
 }
Example #5
0
 /**
  * Returns the backend adapter
  *
  * @return \Zend_Cache_Backend
  */
 public function getBackendAdapter()
 {
     return $this->cacheAdapter->getBackend();
 }