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
-------
e1c36525fd
[FrameworkBundle] remove esi/ssi renderers if inactive
This commit is contained in:
commit
76b7cacdd3
|
@ -213,6 +213,8 @@ class FrameworkExtension extends Extension
|
||||||
private function registerEsiConfiguration(array $config, ContainerBuilder $container, XmlFileLoader $loader)
|
private function registerEsiConfiguration(array $config, ContainerBuilder $container, XmlFileLoader $loader)
|
||||||
{
|
{
|
||||||
if (!$this->isConfigEnabled($container, $config)) {
|
if (!$this->isConfigEnabled($container, $config)) {
|
||||||
|
$container->removeDefinition('fragment.renderer.esi');
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,6 +224,8 @@ class FrameworkExtension extends Extension
|
||||||
private function registerSsiConfiguration(array $config, ContainerBuilder $container, XmlFileLoader $loader)
|
private function registerSsiConfiguration(array $config, ContainerBuilder $container, XmlFileLoader $loader)
|
||||||
{
|
{
|
||||||
if (!$this->isConfigEnabled($container, $config)) {
|
if (!$this->isConfigEnabled($container, $config)) {
|
||||||
|
$container->removeDefinition('fragment.renderer.ssi');
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -96,6 +96,15 @@ abstract class FrameworkExtensionTest extends TestCase
|
||||||
$container = $this->createContainerFromFile('full');
|
$container = $this->createContainerFromFile('full');
|
||||||
|
|
||||||
$this->assertTrue($container->hasDefinition('esi'), '->registerEsiConfiguration() loads esi.xml');
|
$this->assertTrue($container->hasDefinition('esi'), '->registerEsiConfiguration() loads esi.xml');
|
||||||
|
$this->assertTrue($container->hasDefinition('fragment.renderer.esi'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testEsiInactive()
|
||||||
|
{
|
||||||
|
$container = $this->createContainerFromFile('default_config');
|
||||||
|
|
||||||
|
$this->assertFalse($container->hasDefinition('fragment.renderer.esi'));
|
||||||
|
$this->assertFalse($container->hasDefinition('esi'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testSsi()
|
public function testSsi()
|
||||||
|
@ -103,6 +112,15 @@ abstract class FrameworkExtensionTest extends TestCase
|
||||||
$container = $this->createContainerFromFile('full');
|
$container = $this->createContainerFromFile('full');
|
||||||
|
|
||||||
$this->assertTrue($container->hasDefinition('ssi'), '->registerSsiConfiguration() loads ssi.xml');
|
$this->assertTrue($container->hasDefinition('ssi'), '->registerSsiConfiguration() loads ssi.xml');
|
||||||
|
$this->assertTrue($container->hasDefinition('fragment.renderer.ssi'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testSsiInactive()
|
||||||
|
{
|
||||||
|
$container = $this->createContainerFromFile('default_config');
|
||||||
|
|
||||||
|
$this->assertFalse($container->hasDefinition('fragment.renderer.ssi'));
|
||||||
|
$this->assertFalse($container->hasDefinition('ssi'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testEnabledProfiler()
|
public function testEnabledProfiler()
|
||||||
|
|
Reference in New Issue