From 48acaaa80ea56bb3236f0669aaed8afdf1065db1 Mon Sep 17 00:00:00 2001 From: Ben Getsug Date: Fri, 15 Aug 2014 14:36:55 -0500 Subject: [PATCH 1/3] adding support for CouchbaseCache --- library/Bisna/Doctrine/Container.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/library/Bisna/Doctrine/Container.php b/library/Bisna/Doctrine/Container.php index 471e1b2..0435893 100755 --- a/library/Bisna/Doctrine/Container.php +++ b/library/Bisna/Doctrine/Container.php @@ -611,6 +611,31 @@ private function startCacheInstance(array $config = array()) if (method_exists($adapter, 'initialize')) { $adapter->initialize($config); + } else if ($adapter instanceof \Doctrine\Common\Cache\CouchbaseCache) { + + // Couchbase configuration + $couchbaseConfig = array( + 'hosts' => array('localhost:8091'), + 'user' => isset($config['options']['user']) ? $config['options']['user'] : '', + 'password' => isset($config['options']['password']) ? $config['options']['password'] : '', + 'bucket' => isset($config['options']['bucket']) ? $config['options']['bucket'] : 'default', + 'persistent' => isset($config['options']['persistent']) ? $config['options']['persistent'] : true, + ); + + if (isset($config['options']['servers'])) { + + unset($couchbaseConfig['hosts']); + + foreach ($config['options']['servers'] as $server) { + $couchbaseConfig['hosts'][] = $server; + } + } + + // Prevent stupid PHP error of missing extension (if other driver is being used) + $couchbaseClassName = 'Couchbase'; + $couchbase = new $couchbaseClassName($couchbaseConfig); + + $adapter->setCouchbase($couchbase); } else if ($adapter instanceof \Doctrine\Common\Cache\MemcacheCache) { // Prevent stupid PHP error of missing extension (if other driver is being used) $memcacheClassName = 'Memcache'; From 97ac8f7a84b95e19dc783701d718c3df90b8a008 Mon Sep 17 00:00:00 2001 From: Ben Getsug Date: Fri, 15 Aug 2014 15:06:17 -0500 Subject: [PATCH 2/3] adding support for CouchbaseCache --- README.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/README.markdown b/README.markdown index 2169990..0f22d46 100644 --- a/README.markdown +++ b/README.markdown @@ -69,6 +69,7 @@ Currently, Doctrine 2 allows you to use the following different Cache drivers: - APC - Array +- Couchbase - Memcache - Xcache From 12d0d81a8951017ef21e290d63dc1a4b409ad0a6 Mon Sep 17 00:00:00 2001 From: Ben Getsug Date: Fri, 15 Aug 2014 16:09:43 -0500 Subject: [PATCH 3/3] adding support for CouchbaseCache --- library/Bisna/Doctrine/Container.php | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/library/Bisna/Doctrine/Container.php b/library/Bisna/Doctrine/Container.php index 0435893..eefa3c7 100755 --- a/library/Bisna/Doctrine/Container.php +++ b/library/Bisna/Doctrine/Container.php @@ -614,26 +614,15 @@ private function startCacheInstance(array $config = array()) } else if ($adapter instanceof \Doctrine\Common\Cache\CouchbaseCache) { // Couchbase configuration - $couchbaseConfig = array( - 'hosts' => array('localhost:8091'), - 'user' => isset($config['options']['user']) ? $config['options']['user'] : '', - 'password' => isset($config['options']['password']) ? $config['options']['password'] : '', - 'bucket' => isset($config['options']['bucket']) ? $config['options']['bucket'] : 'default', - 'persistent' => isset($config['options']['persistent']) ? $config['options']['persistent'] : true, - ); - - if (isset($config['options']['servers'])) { - - unset($couchbaseConfig['hosts']); - - foreach ($config['options']['servers'] as $server) { - $couchbaseConfig['hosts'][] = $server; - } - } + $hosts = isset($config['options']['hosts']) ? $config['options']['hosts'] : array('localhost'); + $user = isset($config['options']['user']) ? $config['options']['user'] : ''; + $password = isset($config['options']['password']) ? $config['options']['password'] : ''; + $bucket = isset($config['options']['bucket']) ? $config['options']['bucket'] : 'default'; + $persistent = isset($config['options']['persistent']) ? $config['options']['persistent'] : true; // Prevent stupid PHP error of missing extension (if other driver is being used) $couchbaseClassName = 'Couchbase'; - $couchbase = new $couchbaseClassName($couchbaseConfig); + $couchbase = new $couchbaseClassName($hosts, $user, $password, $bucket, $persistent); $adapter->setCouchbase($couchbase); } else if ($adapter instanceof \Doctrine\Common\Cache\MemcacheCache) {