original_string: protected function _initCache()
      {
          $this->bootstrap('project');
  
          $useCache = $this->getResource('project')->getCache();
  
          $cache       = null;
          $exists      = false;
          $cachePrefix = GEMS_PROJECT_NAME . '_';
  
  
          // Check if APC extension is loaded and enabled
          if (\MUtil_Console::isConsole() && !ini_get('apc.enable_cli') && $useCache === 'apc') {
              // To keep the rest readable, we just fall back to File when apc is disabled on cli
              $useCache = "File";
          }
          if ($useCache === 'apc' && extension_loaded('apc') && ini_get('apc.enabled')) {
              //Add path to the prefix as APC is a SHARED cache
              $cachePrefix .= md5(APPLICATION_PATH);
              $cacheBackendOptions = array('cache_id_prefix' => $cachePrefix);
              $cacheBackend = new \Gems\Cache\Backend\Apc($cacheBackendOptions);
              $exists = true;
          } else {
              $cacheBackend = 'File';
              $cacheDir = GEMS_ROOT_DIR . "/var/cache/";
              $cacheBackendOptions = array('cache_dir' => $cacheDir);
              if (!file_exists($cacheDir)) {
                  if (@mkdir($cacheDir, 0777, true)) {
                      $exists = true;
                  }
              } else {
                  $exists = true;
              }
          }
  
          if ($exists && $useCache <> 'none') {
              /**
               * automatic_cleaning_factor disables automatic cleaning of the cache and should get rid of
               *                           random delays on heavy traffic sites with File cache. Apc does
               *                           not support automatic cleaning.
               */
              $cacheFrontendOptions = array('automatic_serialization' => true,
                                            'cache_id_prefix' => $cachePrefix,
                                            'automatic_cleaning_factor' => 0);
  
              $cache = \Zend_Cache::factory('Core', $cacheBackend, $cacheFrontendOptions, $cacheBackendOptions);
          } else {
              $cache = \Zend_Cache::factory('Core', 'Static', array('caching' => false), array('disable_caching' => true));
          }
  
          \Zend_Db_Table_Abstract::setDefaultMetadataCache($cache);
          \Zend_Translate::setCache($cache);
          \Zend_Locale::setCache($cache);
  
          return $cache;
      }
code: protected function _initCache()
      {
          $this->bootstrap('project');
  
          $useCache = $this->getResource('project')->getCache();
  
          $cache       = null;
          $exists      = false;
          $cachePrefix = GEMS_PROJECT_NAME . '_';
  
  
          // Check if APC extension is loaded and enabled
          if (\MUtil_Console::isConsole() && !ini_get('apc.enable_cli') && $useCache === 'apc') {
              // To keep the rest readable, we just fall back to File when apc is disabled on cli
              $useCache = "File";
          }
          if ($useCache === 'apc' && extension_loaded('apc') && ini_get('apc.enabled')) {
              //Add path to the prefix as APC is a SHARED cache
              $cachePrefix .= md5(APPLICATION_PATH);
              $cacheBackendOptions = array('cache_id_prefix' => $cachePrefix);
              $cacheBackend = new \Gems\Cache\Backend\Apc($cacheBackendOptions);
              $exists = true;
          } else {
              $cacheBackend = 'File';
              $cacheDir = GEMS_ROOT_DIR . "/var/cache/";
              $cacheBackendOptions = array('cache_dir' => $cacheDir);
              if (!file_exists($cacheDir)) {
                  if (@mkdir($cacheDir, 0777, true)) {
                      $exists = true;
                  }
              } else {
                  $exists = true;
              }
          }
  
          if ($exists && $useCache <> 'none') {
              /**
               * automatic_cleaning_factor disables automatic cleaning of the cache and should get rid of
               *                           random delays on heavy traffic sites with File cache. Apc does
               *                           not support automatic cleaning.
               */
              $cacheFrontendOptions = array('automatic_serialization' => true,
                                            'cache_id_prefix' => $cachePrefix,
                                            'automatic_cleaning_factor' => 0);
  
              $cache = \Zend_Cache::factory('Core', $cacheBackend, $cacheFrontendOptions, $cacheBackendOptions);
          } else {
              $cache = \Zend_Cache::factory('Core', 'Static', array('caching' => false), array('disable_caching' => true));
          }
  
          \Zend_Db_Table_Abstract::setDefaultMetadataCache($cache);
          \Zend_Translate::setCache($cache);
          \Zend_Locale::setCache($cache);
  
          return $cache;
      }
code_tokens: protected function _initCache ( ) { $ this -> bootstrap ( 'project' ) ; $ useCache = $ this -> getResource ( 'project' ) -> getCache ( ) ; $ cache = null ; $ exists = false ; $ cachePrefix = GEMS_PROJECT_NAME . '_' ; // Check if APC extension is loaded and enabled if ( \ MUtil_Console :: isConsole ( ) && ! ini_get ( 'apc.enable_cli' ) && $ useCache === 'apc' ) { // To keep the rest readable, we just fall back to File when apc is disabled on cli $ useCache = "File" ; } if ( $ useCache === 'apc' && extension_loaded ( 'apc' ) && ini_get ( 'apc.enabled' ) ) { //Add path to the prefix as APC is a SHARED cache $ cachePrefix .= md5 ( APPLICATION_PATH ) ; $ cacheBackendOptions = array ( 'cache_id_prefix' => $ cachePrefix ) ; $ cacheBackend = new \ Gems \ Cache \ Backend \ Apc ( $ cacheBackendOptions ) ; $ exists = true ; } else { $ cacheBackend = 'File' ; $ cacheDir = GEMS_ROOT_DIR . "/var/cache/" ; $ cacheBackendOptions = array ( 'cache_dir' => $ cacheDir ) ; if ( ! file_exists ( $ cacheDir ) ) { if ( @ mkdir ( $ cacheDir , 0777 , true ) ) { $ exists = true ; } } else { $ exists = true ; } } if ( $ exists && $ useCache <> 'none' ) { /**
               * automatic_cleaning_factor disables automatic cleaning of the cache and should get rid of
               *                           random delays on heavy traffic sites with File cache. Apc does
               *                           not support automatic cleaning.
               */ $ cacheFrontendOptions = array ( 'automatic_serialization' => true , 'cache_id_prefix' => $ cachePrefix , 'automatic_cleaning_factor' => 0 ) ; $ cache = \ Zend_Cache :: factory ( 'Core' , $ cacheBackend , $ cacheFrontendOptions , $ cacheBackendOptions ) ; } else { $ cache = \ Zend_Cache :: factory ( 'Core' , 'Static' , array ( 'caching' => false ) , array ( 'disable_caching' => true ) ) ; } \ Zend_Db_Table_Abstract :: setDefaultMetadataCache ( $ cache ) ; \ Zend_Translate :: setCache ( $ cache ) ; \ Zend_Locale :: setCache ( $ cache ) ; return $ cache ; }
docstring: Create a default file cache for the Translate and DB adapters to speed up execution
  
  @return \Zend_Cache_Core
docstring_tokens: Create a default file cache for the Translate and DB adapters to speed up execution