Skip to content

Commit

Permalink
Merge pull request #487 from rvanlaak/patch-2
Browse files Browse the repository at this point in the history
Conditionally enable lazy loading for `phpredis`
  • Loading branch information
B-Galati authored Jan 17, 2019
2 parents 6633198 + 7987c8e commit f12228d
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion DependencyInjection/SncRedisExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,17 @@ protected function loadPhpredisClient(array $client, ContainerBuilder $container
$phpredisDef->addArgument($client['alias']);
$phpredisDef->addTag('snc_redis.client', array('alias' => $client['alias']));
$phpredisDef->setPublic(false);
$phpredisDef->setLazy(true);

// Older version of phpredis extension do not support lazy loading
$minimumVersionForLazyLoading = '4.1.1';
$supportsLazyServices = version_compare($phpRedisVersion, $minimumVersionForLazyLoading, '>=');
$phpredisDef->setLazy($supportsLazyServices);
if (!$supportsLazyServices) {
@trigger_error(
sprintf('Lazy loading Redis is not supported on PhpRedis %s. Please update to PhpRedis %s or higher.', $phpRedisVersion, $minimumVersionForLazyLoading),
E_USER_WARNING
);
}

$container->setDefinition($phpredisId, $phpredisDef);
$container->setAlias(sprintf('snc_redis.%s', $client['alias']), new Alias($phpredisId, true));
Expand Down

0 comments on commit f12228d

Please sign in to comment.