remove translator helper if Translator is disabled
This commit is contained in:
parent
27dbfda18e
commit
25ea510ba4
@ -96,6 +96,7 @@ class FrameworkExtension extends Extension
|
||||
$config = $this->processConfiguration($configuration, $configs);
|
||||
|
||||
$this->annotationsConfigEnabled = $this->isConfigEnabled($container, $config['annotations']);
|
||||
$this->translationConfigEnabled = $this->isConfigEnabled($container, $config['translator']);
|
||||
|
||||
// A translator must always be registered (as support is included by
|
||||
// default in the Form and Validator component). If disabled, an identity
|
||||
@ -752,6 +753,10 @@ class FrameworkExtension extends Extension
|
||||
} else {
|
||||
$container->removeDefinition('templating.helper.assets');
|
||||
}
|
||||
|
||||
if (!$this->translationConfigEnabled) {
|
||||
$container->removeDefinition('templating.helper.translator');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -847,8 +852,6 @@ class FrameworkExtension extends Extension
|
||||
|
||||
$loader->load('translation.xml');
|
||||
|
||||
$this->translationConfigEnabled = true;
|
||||
|
||||
// Use the "real" translator instead of the identity default
|
||||
$container->setAlias('translator', 'translator.default');
|
||||
$translator = $container->findDefinition('translator.default');
|
||||
|
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
$container->loadFromExtension('framework', array(
|
||||
'translator' => false,
|
||||
'templating' => array(
|
||||
'engines' => array('php'),
|
||||
),
|
||||
));
|
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
$container->loadFromExtension('framework', array(
|
||||
'translator' => true,
|
||||
'templating' => array(
|
||||
'engines' => array('php'),
|
||||
),
|
||||
));
|
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" ?>
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:framework="http://symfony.com/schema/dic/symfony"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
|
||||
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
|
||||
|
||||
<framework:config>
|
||||
<framework:translator enabled="false" />
|
||||
<framework:templating>
|
||||
<framework:engine>php</framework:engine>
|
||||
</framework:templating>
|
||||
</framework:config>
|
||||
</container>
|
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" ?>
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:framework="http://symfony.com/schema/dic/symfony"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
|
||||
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
|
||||
|
||||
<framework:config>
|
||||
<framework:translator enabled="true" />
|
||||
<framework:templating>
|
||||
<framework:engine>php</framework:engine>
|
||||
</framework:templating>
|
||||
</framework:config>
|
||||
</container>
|
@ -0,0 +1,4 @@
|
||||
framework:
|
||||
translator: false
|
||||
templating:
|
||||
engines: [php]
|
@ -0,0 +1,4 @@
|
||||
framework:
|
||||
translator: true
|
||||
templating:
|
||||
engines: [php]
|
@ -455,6 +455,20 @@ abstract class FrameworkExtensionTest extends TestCase
|
||||
$this->assertEquals(array('en', 'fr'), $calls[1][1][0]);
|
||||
}
|
||||
|
||||
public function testTranslatorHelperIsRegisteredWhenTranslatorIsEnabled()
|
||||
{
|
||||
$container = $this->createContainerFromFile('templating_php_translator_enabled');
|
||||
|
||||
$this->assertTrue($container->has('templating.helper.translator'));
|
||||
}
|
||||
|
||||
public function testTranslatorHelperIsNotRegisteredWhenTranslatorIsDisabled()
|
||||
{
|
||||
$container = $this->createContainerFromFile('templating_php_translator_disabled');
|
||||
|
||||
$this->assertFalse($container->has('templating.helper.translator'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\Config\Definition\Exception\InvalidConfigurationException
|
||||
*/
|
||||
|
Reference in New Issue
Block a user