minor #13349 [2.7] Fix deprecations on TwigBundle and FrameworkBundle semantic configurations (hhamon)

This PR was merged into the 2.7 branch.

Discussion
----------

[2.7] Fix deprecations on TwigBundle and FrameworkBundle semantic configurations

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ~
| License       | MIT
| Doc PR        | ~

Commits
-------

8d60396 [FrameworkBundle|TwigBundle] update functional tests configuration files to not use deprecated config keys anymore.
This commit is contained in:
Fabien Potencier 2015-01-09 21:00:04 +01:00
commit 545e1a4bc1
5 changed files with 23 additions and 10 deletions

View File

@ -43,6 +43,16 @@ class Configuration implements ConfigurationInterface
$rootNode = $treeBuilder->root('framework');
$rootNode
// Check deprecations before the config is processed to ensure
// the setting has been explicitly defined in a configuration file.
->beforeNormalization()
->ifTrue(function ($v) { return isset($v['csrf_protection']['field_name']); })
->then(function ($v) {
trigger_error('The framework.csrf_protection.field_name configuration key is deprecated since version 2.4 and will be removed in 3.0. Use the framework.form.csrf_protection.field_name configuration key instead', E_USER_DEPRECATED);
return $v;
})
->end()
->children()
->scalarNode('secret')->end()
->scalarNode('http_method_override')

View File

@ -205,7 +205,6 @@ class FrameworkExtension extends Extension
if (null !== $config['form']['csrf_protection']['field_name']) {
$container->setParameter('form.type_extension.csrf.field_name', $config['form']['csrf_protection']['field_name']);
} else {
trigger_error('The framework.csrf_protection.field_name configuration key is deprecated since version 2.4 and will be removed in 3.0. Use the framework.form.csrf_protection.field_name configuration key instead', E_USER_DEPRECATED);
$container->setParameter('form.type_extension.csrf.field_name', $config['csrf_protection']['field_name']);
}
} else {

View File

@ -1,14 +1,10 @@
<?php
$container->loadFromExtension('framework', array(
'csrf_protection' => array(
'enabled' => false,
),
'csrf_protection' => true,
'form' => array(
'enabled' => true,
'csrf_protection' => array(
'enabled' => true,
),
'csrf_protection' => true,
),
'session' => array(
'handler_id' => null,

View File

@ -467,7 +467,7 @@ abstract class FrameworkExtensionTest extends TestCase
$this->assertEquals('_custom', $container->getParameter('form.type_extension.csrf.field_name'));
}
public function testFormCsrfFieldNameUnderFormSettingsTakesPrecedence()
public function testLegacyFormCsrfFieldNameUnderFormSettingsTakesPrecedence()
{
$container = $this->createContainerFromFile('form_csrf_under_form_sets_field_name');

View File

@ -49,13 +49,21 @@ class Configuration implements ConfigurationInterface
private function addFormSection(ArrayNodeDefinition $rootNode)
{
$rootNode
// Check deprecation before the config is processed to ensure
// the setting has been explicitly defined in a configuration file.
->beforeNormalization()
->ifTrue(function ($v) { return isset($v['form']['resources']); })
->then(function ($v) {
trigger_error('The twig.form.resources configuration key is deprecated since version 2.6 and will be removed in 3.0. Use the twig.form_themes configuration key instead.', E_USER_DEPRECATED);
return $v;
})
->end()
->validate()
->ifTrue(function ($v) {
return count($v['form']['resources']) > 0;
})
->then(function ($v) {
trigger_error('The twig.form.resources configuration key is deprecated since version 2.6 and will be removed in 3.0. Use the twig.form_themes configuration key instead.', E_USER_DEPRECATED);
$v['form_themes'] = array_values(array_unique(array_merge($v['form']['resources'], $v['form_themes'])));
return $v;