diff options
author | Robin Appelman <icewind@owncloud.com> | 2013-07-16 15:34:22 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2013-07-16 15:34:22 +0200 |
commit | d82c1dfcabe84709ff02ea5c13c82c573d524937 (patch) | |
tree | 399064806f71f511d192a94236388bea9f9538f3 | |
parent | 0ae8eb4f5e05d9e3c5a22a7278ee104edd95fdf4 (diff) | |
download | nextcloud-server-d82c1dfcabe84709ff02ea5c13c82c573d524937.tar.gz nextcloud-server-d82c1dfcabe84709ff02ea5c13c82c573d524937.zip |
split out memcache factory from base class
-rw-r--r-- | lib/memcache/cache.php | 25 | ||||
-rw-r--r-- | lib/memcache/factory.php | 38 |
2 files changed, 39 insertions, 24 deletions
diff --git a/lib/memcache/cache.php b/lib/memcache/cache.php index 331c689f065..b9e0c2249ac 100644 --- a/lib/memcache/cache.php +++ b/lib/memcache/cache.php @@ -9,23 +9,7 @@ namespace OC\Memcache; abstract class Cache { - /** - * get a cache instance - * - * @param bool $global - * @return Cache - */ - static function create($global = false) { - if (XCache::isAvailable()) { - return new XCache($global); - } elseif (APC::isAvailable()) { - return new APC($global); - } elseif (Memcached::isAvailable()) { - return new Memcached($global); - } else { - return null; - } - } + /** * @param bool $global @@ -63,11 +47,4 @@ abstract class Cache { * @return mixed */ abstract public function clear($prefix = ''); - - /** - * @return bool - */ - static public function isAvailable() { - return XCache::isAvailable() || APC::isAvailable() || Memcached::isAvailable(); - } } diff --git a/lib/memcache/factory.php b/lib/memcache/factory.php new file mode 100644 index 00000000000..1926582aa5c --- /dev/null +++ b/lib/memcache/factory.php @@ -0,0 +1,38 @@ +<?php +/** + * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Memcache; + +class Factory { + /** + * get a cache instance, will return null if no backend is available + * + * @param bool $global + * @return \OC\Memcache\Cache + */ + function create($global = false) { + if (XCache::isAvailable()) { + return new XCache($global); + } elseif (APC::isAvailable()) { + return new APC($global); + } elseif (Memcached::isAvailable()) { + return new Memcached($global); + } else { + return null; + } + } + + /** + * check if there is a memcache backend available + * + * @return bool + */ + public function isAvailable() { + return XCache::isAvailable() || APC::isAvailable() || Memcached::isAvailable(); + } +} |