8000 [DI] Add force parameters escape option to dumpers · symfony/symfony@aec766c · GitHub
[go: up one dir, main page]

Skip to content

Commit aec766c

Browse files
committed
[DI] Add force parameters escape option to dumpers
1 parent b104760 commit aec766c

File tree

4 files changed

+15
-8
lines changed

4 files changed

+15
-8
lines changed

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/ContainerBuilderDebugDumpPass.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ public function process(ContainerBuilder $container)
2929
{
3030
$cache = new ConfigCache($container->getParameter('debug.container.dump'), true);
3131
if (!$cache->isFresh()) {
32-
$cache->write((new XmlDumper($container))->dump(), $container->getResources());
32+
$cache->write((new XmlDumper($container))->dump([
33+
'force_parameters_escape' => true,
34+
]), $container->getResources());
3335
}
3436
}
3537
}

src/Symfony/Bundle/FrameworkBundle/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"ext-xml": "*",
2121
"symfony/cache": "~3.4.31|^4.3.4",
2222
"symfony/class-loader": "~3.2",
23-
"symfony/dependency-injection": "^3.4.24|^4.2.5",
23+
"symfony/dependency-injection": "^3.4.36|^4.2.13",
2424
"symfony/config": "^3.4.31|^4.3.4",
2525
"symfony/debug": "~2.8|~3.0|~4.0",
2626
"symfony/event-dispatcher": "~3.4|~4.0",

src/Symfony/Component/DependencyInjection/Dumper/XmlDumper.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public function dump(array $options = [])
4949
$container->setAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
5050
$container->setAttribute('xsi:schemaLocation', 'http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd');
5151

52-
$this->addParameters($container);
52+
$this->addParameters($container, isset($options['force_parameters_escape']) ? $options['force_parameters_escape'] : false);
5353
$this->addServices($container);
5454

5555
$this->document->appendChild($container);
@@ -59,14 +59,17 @@ public function dump(array $options = [])
5959
return $this->container->resolveEnvPlaceholders($xml);
6060
}
6161

62-
private function addParameters(\DOMElement $parent)
62+
/**
63+
* @param bool $forceEscape
64+
*/
65+
private function addParameters(\DOMElement $parent, $forceEscape)
6366
{
6467
$data = $this->container->getParameterBag()->all();
6568
if (!$data) {
6669
return;
6770
}
6871

69-
if ($this->container->isCompiled()) {
72+
if ($this->container->isCompiled() || $forceEscape) {
7073
$data = $this->escape($data);
7174
}
7275

src/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public function dump(array $options = [])
5151
$this->dumper = new YmlDumper();
5252
}
5353

54-
return $this->container->resolveEnvPlaceholders($this->addParameters()."\n".$this->addServices());
54+
return $this->container->resolveEnvPlaceholders($this->addParameters(isset($options['force_parameters_escape']) ? $options['force_parameters_escape'] : false)."\n".$this->addServices());
5555
}
5656

5757
/**
@@ -212,15 +212,17 @@ private function addServices()
212212
/**
213213
* Adds parameters.
214214
*
215+
* @param bool $forceEscape
216+
*
215217
* @return string
216218
*/
217-
private function addParameters()
219+
private function addParameters($forceEscape)
218220
{
219221
if (!$this->container->getParameterBag()->all()) {
220222
return '';
221223
}
222224

223-
$parameters = $this->prepareParameters($this->container->getParameterBag()->all(), $this->container->isCompiled());
225+
$parameters = $this->prepareParameters($this->container->getParameterBag()->all(), $this->container->isCompiled() || $forceEscape);
224226

225227
return $this->dumper->dump(['parameters' => $parameters], 2);
226228
}

0 commit comments

Comments
 (0)
0