8000 bug #25489 [FrameworkBundle] remove esi/ssi renderers if inactive (dm… · symfony/symfony@76b7cac · GitHub
[go: up one dir, main page]

Skip to content

Commit 76b7cac

Browse files
committed
bug #25489 [FrameworkBundle] remove esi/ssi renderers if inactive (dmaicher)
This PR was merged into the 2.7 branch. Discussion ---------- [FrameworkBundle] remove esi/ssi renderers if inactive | Q | A | ------------- | --- | Branch? | 2.7 | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? |no | Tests pass? | yes | Fixed tickets | #25246 | License | MIT | Doc PR | - As found out within #25246 the esi/ssi fragment renderer services were registered for < 3.4 even when the framework config for it was disabled. On 3.4+ this has been fixed already and the service definitions are removed. With this fix the usual exception message appears when `framework.esi` or `framework.ssi` are disabled and using `render_esi(...)` or `render_ssi(...)`: ``` An exception has been thrown during the rendering of a template ("The "esi" renderer does not exist."). ``` **Note: Some people may see this exception when updating to this patch but this just means they are using esi/ssi without enabling it.** Commits ------- e1c3652 [FrameworkBundle] remove esi/ssi renderers if inactive
2 parents 01229fb + e1c3652 commit 76b7cac

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,8 @@ private function registerFormConfiguration(array $config, ContainerBuilder $cont
213213
private function registerEsiConfiguration(array $config, ContainerBuilder $container, XmlFileLoader $loader)
214214
{
215215
if (!$this->isConfigEnabled($container, $config)) {
216+
$container->removeDefinition('fragment.renderer.esi');
217+
216218
return;
217219
}
218220

@@ -222,6 +224,8 @@ private function registerEsiConfiguration(array $config, ContainerBuilder $conta
222224
private function registerSsiConfiguration(array $config, ContainerBuilder $container, XmlFileLoader $loader)
223225
{
224226
if (!$this->isConfigEnabled($container, $config)) {
227+
$container->removeDefinition('fragment.renderer.ssi');
228+
225229
return;
226230
}
227231

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,31 @@ public function testEsi()
9696
$container = $this->createContainerFromFile('full');
9797

9898
$this->assertTrue($container->hasDefinition('esi'), '->registerEsiConfiguration() loads esi.xml');
99+
$this->assertTrue($container->hasDefinition('fragment.renderer.esi'));
100+
}
101+
102+
public function testEsiInactive()
103+
{
104+
$container = $this->createContainerFromFile('default_config');
105+
106+
$this->assertFalse($container->hasDefinition('fragment.renderer.esi'));
107+
$this->assertFalse($container->hasDefinition('esi'));
99108
}
100109

101110
public function testSsi()
102111
{
103112
$container = $this->createContainerFromFile('full');
104113

105114
$this->assertTrue($container->hasDefinition('ssi'), '->registerSsiConfiguration() loads ssi.xml');
115+
$this->assertTrue($container->hasDefinition('fragment.renderer.ssi'));
116+
}
117+
118+
public function testSsiInactive()
119+
{
120+
$container = $this->createContainerFromFile('default_config');
121+
122+
$this->assertFalse($container->hasDefinition('fragment.renderer.ssi'));
123+
$this->assertFalse($container->hasDefinition('ssi'));
106124
}
107125

108126
public function testEnabledProfiler()

0 commit comments

Comments
 (0)
0