From c0152e1bbaf5b4c43774943f91ae2eb32583cdeb Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Mon, 18 Jan 2010 14:01:29 +0100 Subject: [PATCH] [DependencyInjection] disable the possibility to have a reference in parameters (as it breaks as soon as you want to use the PHP dumper with no solution - performance wise) --- .../Components/DependencyInjection/Dumper/PhpDumper.php | 2 +- .../Loader/Extension/SymfonyTemplatingExtension.php | 4 ++-- .../Loader/Extension/xml/symfony/templating-1.0.xml | 8 ++------ .../DependencyInjection/containers/container9.php | 1 - .../Components/DependencyInjection/graphviz/services9.dot | 1 - .../Components/DependencyInjection/php/services9.php | 1 - .../Components/DependencyInjection/xml/services9.xml | 1 - .../Components/DependencyInjection/yaml/services9.yml | 1 - 8 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/Symfony/Components/DependencyInjection/Dumper/PhpDumper.php b/src/Symfony/Components/DependencyInjection/Dumper/PhpDumper.php index 72382f3a15a2..b3f98b6b4953 100644 --- a/src/Symfony/Components/DependencyInjection/Dumper/PhpDumper.php +++ b/src/Symfony/Components/DependencyInjection/Dumper/PhpDumper.php @@ -347,7 +347,7 @@ protected function exportParameters($parameters, $indent = 6) } elseif ($value instanceof Reference) { - $value = sprintf("new Reference('%s')", $value); + throw new \InvalidArgumentException(sprintf('You cannot dump a container with parameters that contain references to other services (reference to service %s found).', $value)); } else { diff --git a/src/Symfony/Components/DependencyInjection/Loader/Extension/SymfonyTemplatingExtension.php b/src/Symfony/Components/DependencyInjection/Loader/Extension/SymfonyTemplatingExtension.php index a98ad8a7f474..719c13d50442 100644 --- a/src/Symfony/Components/DependencyInjection/Loader/Extension/SymfonyTemplatingExtension.php +++ b/src/Symfony/Components/DependencyInjection/Loader/Extension/SymfonyTemplatingExtension.php @@ -70,7 +70,7 @@ public function templatingLoad($config) ); } - $configuration->setParameter('symfony.templating.loader.chain.loaders', $loaders); + $configuration->getDefinition('symfony.templating.loader.chain')->addArgument($loaders); $configuration->setAlias('symfony.templating.loader', 'symfony.templating.loader.chain'); // helpers @@ -91,7 +91,7 @@ public function templatingLoad($config) ); } - $configuration->setParameter('symfony.templating.helpers', $helpers); + $configuration->getDefinition('symfony.templating.helperset')->addArgument($helpers); // cache? if (isset($config['cache'])) diff --git a/src/Symfony/Components/DependencyInjection/Loader/Extension/xml/symfony/templating-1.0.xml b/src/Symfony/Components/DependencyInjection/Loader/Extension/xml/symfony/templating-1.0.xml index 01c5bbc1b958..457335319bd7 100644 --- a/src/Symfony/Components/DependencyInjection/Loader/Extension/xml/symfony/templating-1.0.xml +++ b/src/Symfony/Components/DependencyInjection/Loader/Extension/xml/symfony/templating-1.0.xml @@ -21,9 +21,7 @@ - - %symfony.templating.helpers% - + %symfony.templating.loader.filesystem.path% @@ -34,9 +32,7 @@ %symfony.templating.loader.cache.path% - - %symfony.templating.loader.chain.loaders% - + diff --git a/tests/fixtures/Symfony/Components/DependencyInjection/containers/container9.php b/tests/fixtures/Symfony/Components/DependencyInjection/containers/container9.php index aaced5a4b4b1..0afbe3ef2789 100644 --- a/tests/fixtures/Symfony/Components/DependencyInjection/containers/container9.php +++ b/tests/fixtures/Symfony/Components/DependencyInjection/containers/container9.php @@ -34,7 +34,6 @@ 'baz_class' => 'BazClass', 'foo_class' => 'FooClass', 'foo' => 'bar', - 'foo_bar' => new Reference('foo_bar'), )); $container->setAlias('alias_for_foo', 'foo'); $container-> diff --git a/tests/fixtures/Symfony/Components/DependencyInjection/graphviz/services9.dot b/tests/fixtures/Symfony/Components/DependencyInjection/graphviz/services9.dot index 84cce5fb37ec..9ddf1b4aa657 100644 --- a/tests/fixtures/Symfony/Components/DependencyInjection/graphviz/services9.dot +++ b/tests/fixtures/Symfony/Components/DependencyInjection/graphviz/services9.dot @@ -13,7 +13,6 @@ digraph sc { node_foo -> node_foo_baz [label="" style="filled"]; node_foo -> node_service_container [label="" style="filled"]; node_bar -> node_foo_baz [label="" style="filled"]; - node_bar -> node_foo_bar [label="" style="filled"]; node_method_call1 -> node_foo [label="setBar()" style="dashed"]; node_method_call1 -> node_foo [label="setBar()" style="dashed"]; node_method_call1 -> node_foo [label="setBar()" style="dashed"]; diff --git a/tests/fixtures/Symfony/Components/DependencyInjection/php/services9.php b/tests/fixtures/Symfony/Components/DependencyInjection/php/services9.php index 60a41686ed2c..b9a42245ce5b 100644 --- a/tests/fixtures/Symfony/Components/DependencyInjection/php/services9.php +++ b/tests/fixtures/Symfony/Components/DependencyInjection/php/services9.php @@ -148,7 +148,6 @@ protected function getDefaultParameters() 'baz_class' => 'BazClass', 'foo_class' => 'FooClass', 'foo' => 'bar', - 'foo_bar' => new Reference('foo_bar'), ); } } diff --git a/tests/fixtures/Symfony/Components/DependencyInjection/xml/services9.xml b/tests/fixtures/Symfony/Components/DependencyInjection/xml/services9.xml index fd1df2987b85..15ec9120d916 100644 --- a/tests/fixtures/Symfony/Components/DependencyInjection/xml/services9.xml +++ b/tests/fixtures/Symfony/Components/DependencyInjection/xml/services9.xml @@ -7,7 +7,6 @@ BazClass FooClass bar - diff --git a/tests/fixtures/Symfony/Components/DependencyInjection/yaml/services9.yml b/tests/fixtures/Symfony/Components/DependencyInjection/yaml/services9.yml index c3a5ba0c30b2..aafde657fb63 100644 --- a/tests/fixtures/Symfony/Components/DependencyInjection/yaml/services9.yml +++ b/tests/fixtures/Symfony/Components/DependencyInjection/yaml/services9.yml @@ -2,7 +2,6 @@ parameters: baz_class: BazClass foo_class: FooClass foo: bar - foo_bar: '@foo_bar' services: foo: