Skip to content

Commit 1990438

Browse files
committed
Merge branch '3.2'
* 3.2: [Console] Review Application docblocks [Cache] Improve performances into foreach (PhpFilesAdapter) bumped Symfony version to 3.2.2 updated VERSION for 3.2.1 updated CHANGELOG for 3.2.1 bumped Symfony version to 3.1.9 updated VERSION for 3.1.8 updated CHANGELOG for 3.1.8 Add support for REDIS_URL environment variables. bumped Symfony version to 2.8.16 updated VERSION for 2.8.15 updated CHANGELOG for 2.8.15 bumped Symfony version to 2.7.23 updated VERSION for 2.7.22 update CONTRIBUTORS for 2.7.22 updated CHANGELOG for 2.7.22 Update PHP CS Fixer config file
2 parents 6ceac62 + 25f4182 commit 1990438

File tree

5 files changed

+63
-1
lines changed

5 files changed

+63
-1
lines changed

DependencyInjection/Compiler/CachePoolPass.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,9 @@ private function getNamespace($seed, $id)
106106
*/
107107
public static function getServiceProvider(ContainerBuilder $container, $name)
108108
{
109-
if (0 === strpos($name, 'redis://')) {
109+
$container->resolveEnvPlaceholders($name, null, $usedEnvs);
110+
111+
if (0 === strpos($name, 'redis://') || $usedEnvs) {
110112
$dsn = $name;
111113

112114
if (!$container->hasDefinition($name = md5($dsn))) {
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?php
2+
3+
$container->setParameter('env(REDIS_URL)', 'redis://paas.com');
4+
5+
$container->loadFromExtension('framework', array(
6+
'cache' => array(
7+
'default_redis_provider' => '%env(REDIS_URL)%',
8+
),
9+
));
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" ?>
2+
<container xmlns="http://symfony.com/schema/dic/services"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xmlns:framework="http://symfony.com/schema/dic/symfony"
5+
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
6+
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
7+
8+
<parameters>
9+
<parameter key="env(REDIS_URL)">redis://paas.com</parameter>
10+
</parameters>
11+
12+
<framework:config>
13+
<framework:cache>
14+
<framework:default-redis-provider>%env(REDIS_URL)%</framework:default-redis-provider>
15+
</framework:cache>
16+
</framework:config>
17+
</container>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
parameters:
2+
env(REDIS_URL): redis://paas.com
3+
4+
framework:
5+
cache:
6+
default_redis_provider: "%env(REDIS_URL)%"

Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -697,6 +697,34 @@ public function testPropertyInfoEnabled()
697697
$this->assertTrue($container->has('property_info'));
698698
}
699699

700+
public function testCacheDefaultRedisProvider()
701+
{
702+
$container = $this->createContainerFromFile('cache');
703+
704+
$redisUrl = 'redis://localhost';
705+
$providerId = md5($redisUrl);
706+
707+
$this->assertTrue($container->hasDefinition($providerId));
708+
709+
$url = $container->getDefinition($providerId)->getArgument(0);
710+
711+
$this->assertSame($redisUrl, $url);
712+
}
713+
714+
public function testCacheDefaultRedisProviderWithEnvVar()
715+
{
716+
$container = $this->createContainerFromFile('cache_env_var');
717+
718+
$redisUrl = 'redis://paas.com';
719+
$providerId = md5($redisUrl);
720+
721+
$this->assertTrue($container->hasDefinition($providerId));
722+
723+
$url = $container->getDefinition($providerId)->getArgument(0);
724+
725+
$this->assertSame($redisUrl, $url);
726+
}
727+
700728
public function testCachePoolServices()
701729
{
702730
$container = $this->createContainerFromFile('cache');

0 commit comments

Comments
 (0)