Ejemplo n.º 1
0
 public static function initialize($method = self::cache_in_memory, $arguments = array())
 {
     if (!in_array($method, self::$_storageMethods)) {
         return false;
     }
     switch ($method) {
         case self::cache_to_apc:
             if (!function_exists('apc_store')) {
                 return false;
             }
             if (apc_sma_info() === false) {
                 return false;
             }
             break;
         case self::cache_to_memcache:
             if (!function_exists('memcache_add')) {
                 return false;
             }
             break;
         case self::cache_to_wincache:
             if (!function_exists('wincache_ucache_add')) {
                 return false;
             }
             break;
     }
     self::$_storageMethodParameters[$method] = self::$_storageMethodDefaultParameters[$method];
     foreach ($arguments as $k => $v) {
         if (isset(self::$_storageMethodParameters[$method][$k])) {
             self::$_storageMethodParameters[$method][$k] = $v;
         }
     }
     if (is_null(self::$_cacheStorageMethod)) {
         self::$_cacheStorageClass = 'CachedObjectStorage_' . $method;
         self::$_cacheStorageMethod = $method;
     }
     return true;
 }