Skip to content

Commit 4aed6ab

Browse files
committed
Merge pull request #33 from andrey1s/aliases
add configuration aliases
2 parents 313727c + e193b76 commit 4aed6ab

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

src/DependencyInjection/CacheAdapterExtension.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ public function load(array $configs, ContainerBuilder $container)
5555
->addArgument($arguments['options']);
5656

5757
$def->addTag('cache.provider');
58+
foreach ($arguments['aliases'] as $alias) {
59+
$container->setAlias($alias, 'cache.provider.'.$name);
60+
}
5861
}
5962

6063
if ($first !== null) {

src/DependencyInjection/Configuration.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ private function getClustersNode()
5454
->children()
5555
->scalarNode('factory')->isRequired()->cannotBeEmpty()->end()
5656
->variableNode('options')->defaultValue([])->end()
57+
->arrayNode('aliases')
58+
->prototype('scalar')->end()
59+
->end()
5760
->end()
5861
->end();
5962

tests/DependencyInjection/DoctrineCacheExtensionTest.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,28 @@ public function testThatProvidersExists()
3232
$this->assertContainerBuilderHasService('cache.provider.foo', DummyAdapter::class);
3333
$this->assertContainerBuilderHasAlias('cache', 'cache.provider.foo');
3434
}
35+
36+
public function testAliasProvidersExists()
37+
{
38+
$providers = ['foo' => ['factory' => 'cache.factory.array', 'aliases' => ['alias_http']]];
39+
$this->load(['providers' => $providers]);
40+
41+
$this->assertContainerBuilderHasService('cache.provider.foo', DummyAdapter::class);
42+
$this->assertContainerBuilderHasAlias('cache', 'cache.provider.foo');
43+
$this->assertContainerBuilderHasAlias('alias_http', 'cache.provider.foo');
44+
}
45+
46+
public function testDefaultAliasProvidersExists()
47+
{
48+
$providers = [
49+
'foo' => ['factory' => 'cache.factory.array', 'aliases' => ['alias_foo']],
50+
'bar' => ['factory' => 'cache.factory.array', 'aliases' => ['alias_bar', 'alias_other']],
51+
];
52+
$this->load(['providers' => $providers]);
53+
54+
$this->assertContainerBuilderHasService('cache.provider.foo', DummyAdapter::class);
55+
$this->assertContainerBuilderHasAlias('cache', 'cache.provider.foo');
56+
$this->assertContainerBuilderHasAlias('alias_foo', 'cache.provider.foo');
57+
$this->assertContainerBuilderHasAlias('alias_bar', 'cache.provider.bar');
58+
}
3559
}

0 commit comments

Comments
 (0)