Skip to content
This repository was archived by the owner on Jul 12, 2020. It is now read-only.

Commit 772eb2c

Browse files
committed
Fix deprecations when instantiating TreeBuilder in Configuration
1 parent 94aeed9 commit 772eb2c

File tree

2 files changed

+29
-6
lines changed

2 files changed

+29
-6
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
2727

2828
### Fixed
2929

30+
* Fixed deprecations when instantiating TreeBuilder in Configuration
3031
* PHP CS Fixer: Applied native constant invocation and native function invocation
3132

3233
### Security

DependencyInjection/Configuration.php

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,11 @@ class Configuration implements ConfigurationInterface
2828
*/
2929
public function getConfigTreeBuilder()
3030
{
31-
$treeBuilder = new TreeBuilder();
31+
$nodeName = 'pcdx_parameter_encryption';
3232

33-
$rootNode = $treeBuilder->root('pcdx_parameter_encryption');
33+
$treeBuilder = new TreeBuilder($nodeName);
34+
35+
$rootNode = $this->getRootNodeFromTreeBuilder($treeBuilder, $nodeName);
3436

3537
$rootNode
3638
->fixXmlConfig('algorithm')
@@ -84,10 +86,13 @@ public function getConfigTreeBuilder()
8486
*/
8587
public function addCryptoNode($type)
8688
{
87-
$builder = new TreeBuilder();
88-
$node = $builder->root($type.'ion');
89+
$nodeName = $type.'ion';
90+
91+
$treeBuilder = new TreeBuilder($nodeName);
8992

90-
$node
93+
$rootNode = $this->getRootNodeFromTreeBuilder($treeBuilder, $nodeName);
94+
95+
$rootNode
9196
->info('Configure '.$type.'er.')
9297
->isRequired()
9398
->fixXmlConfig('argument')
@@ -143,6 +148,23 @@ public function addCryptoNode($type)
143148
->end()
144149
->end();
145150

146-
return $node;
151+
return $rootNode;
152+
}
153+
154+
/**
155+
* Get root node from tree builder.
156+
*
157+
* @deprecated symfony/config 4.2 Simply use TreeBuilder::getRootNode()
158+
*
159+
* @param TreeBuilder $treeBuilder
160+
* @param string $nodeName
161+
*
162+
* @return NodeDefinition
163+
*/
164+
private function getRootNodeFromTreeBuilder(TreeBuilder $treeBuilder, string $nodeName): NodeDefinition
165+
{
166+
return (method_exists($treeBuilder, 'getRootNode')
167+
? $treeBuilder->getRootNode()
168+
: $treeBuilder->root($nodeName));
147169
}
148170
}

0 commit comments

Comments
 (0)