Skip to content

Commit 50df1a7

Browse files
committed
merged branch guilhermeblanco/redis_support (PR #5224)
Commits ------- 493aa12 Added support to redis, wincache and zend data cache. Discussion ---------- Added support to redis, wincache and zend data cache. These three drivers were missing support on DoctrineBundle. DoctrineBundle PR doctrine/DoctrineBundle#99 must be merged first --------------------------------------------------------------------------- by stof at 2012-08-09T20:35:21Z This looks good to me
2 parents d4d368f + 493aa12 commit 50df1a7

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,9 +331,24 @@ protected function loadObjectManagerCacheDriver(array $objectManager, ContainerB
331331
$container->setDefinition($this->getObjectManagerElementName(sprintf('%s_memcached_instance', $objectManager['name'])), $memcachedInstance);
332332
$cacheDef->addMethodCall('setMemcached', array(new Reference($this->getObjectManagerElementName(sprintf('%s_memcached_instance', $objectManager['name'])))));
333333
break;
334+
case 'redis':
335+
$redisClass = !empty($cacheDriver['class']) ? $cacheDriver['class'] : '%'.$this->getObjectManagerElementName('cache.redis.class').'%';
336+
$redisInstanceClass = !empty($cacheDriver['instance_class']) ? $cacheDriver['instance_class'] : '%'.$this->getObjectManagerElementName('cache.redis_instance.class').'%';
337+
$redisHost = !empty($cacheDriver['host']) ? $cacheDriver['host'] : '%'.$this->getObjectManagerElementName('cache.redis_host').'%';
338+
$redisPort = !empty($cacheDriver['port']) ? $cacheDriver['port'] : '%'.$this->getObjectManagerElementName('cache.redis_port').'%';
339+
$cacheDef = new Definition($redisClass);
340+
$redisInstance = new Definition($redisInstanceClass);
341+
$redisInstance->addMethodCall('connect', array(
342+
$redisHost, $redisPort
343+
));
344+
$container->setDefinition($this->getObjectManagerElementName(sprintf('%s_redis_instance', $objectManager['name'])), $redisInstance);
345+
$cacheDef->addMethodCall('setRedis', array(new Reference($this->getObjectManagerElementName(sprintf('%s_redis_instance', $objectManager['name'])))));
346+
break;
334347
case 'apc':
335348
case 'array':
336349
case 'xcache':
350+
case 'wincache':
351+
case 'zenddata':
337352
$cacheDef = new Definition('%'.$this->getObjectManagerElementName(sprintf('cache.%s.class', $cacheDriver['type'])).'%');
338353
break;
339354
default:

0 commit comments

Comments
 (0)