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;
    }
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;
    }
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 ; }
Create a default file cache for the Translate and DB adapters to speed up execution

@return \Zend_Cache_Core
Create a default file cache for the Translate and DB adapters to speed up execution