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; }