Skip to content

Commit

Permalink
Fix another SF 4.2 deprecation (#211)
Browse files Browse the repository at this point in the history
* Fix another SF 4.2 deprecation

* Fix another SF 4.2 deprecation

* Add phpdoc

* Fix PHPCS

* Fix PHPCS

* Update Configuration.php
  • Loading branch information
xkobal authored and Nyholm committed Dec 22, 2018
1 parent 5562522 commit f1435e8
Showing 1 changed file with 23 additions and 10 deletions.
33 changes: 23 additions & 10 deletions DependencyInjection/Configuration.php
Expand Up @@ -38,17 +38,33 @@ public function __construct($debug)
$this->debug = (bool) $debug;
}

/**
* Proxy to get root node for Symfony < 4.2.
*
* @param TreeBuilder $treeBuilder
* @param string $name
*
* @return NodeDefinition
*/
protected function getRootNode(TreeBuilder $treeBuilder, string $name)
{
if (\method_exists($treeBuilder, 'getRootNode')) {
return $treeBuilder->getRootNode();
} else {
return $treeBuilder->root($name);
}
}

/**
* Generates the configuration tree builder.
*
* @return TreeBuilder The tree builder
*/
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('bazinga_geocoder');
$treeBuilder = new TreeBuilder('bazinga_geocoder');

$rootNode
$this->getRootNode($treeBuilder, 'bazinga_geocoder')
->children()
->append($this->getProvidersNode())
->arrayNode('profiling')
Expand Down Expand Up @@ -85,10 +101,9 @@ public function getConfigTreeBuilder()
*/
private function getProvidersNode()
{
$treeBuilder = new TreeBuilder();
$node = $treeBuilder->root('providers');
$treeBuilder = new TreeBuilder('providers');

$node
return $this->getRootNode($treeBuilder, 'providers')
->requiresAtLeastOneElement()
->useAttributeAsKey('name')
->prototype('array')
Expand All @@ -111,8 +126,6 @@ private function getProvidersNode()
->append($this->createClientPluginNode())
->end()
->end();

return $node;
}

/**
Expand All @@ -122,8 +135,8 @@ private function getProvidersNode()
*/
private function createClientPluginNode()
{
$builder = new TreeBuilder();
$node = $builder->root('plugins');
$builder = new TreeBuilder('plugins');
$node = $this->getRootNode($builder, 'plugins');

/** @var ArrayNodeDefinition $pluginList */
$pluginList = $node
Expand Down

0 comments on commit f1435e8

Please sign in to comment.