Skip to content
This repository was archived by the owner on Aug 31, 2023. It is now read-only.

Commit 7810993

Browse files
Reintroduce support for Symfony 3 (#12)
1 parent b08524a commit 7810993

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

src/DependencyInjection/Configuration.php

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,13 @@ class Configuration implements ConfigurationInterface
1212
{
1313
public function getConfigTreeBuilder(): TreeBuilder
1414
{
15-
$treeBuilder = new TreeBuilder('alpha_visitor_tracking');
16-
$rootNode = $treeBuilder->getRootNode();
15+
if ($this->isBeforeSymfony4()) {
16+
$treeBuilder = new TreeBuilder();
17+
$rootNode = $treeBuilder->root('alpha_visitor_tracking');
18+
} else {
19+
$treeBuilder = new TreeBuilder('alpha_visitor_tracking');
20+
$rootNode = $treeBuilder->getRootNode();
21+
}
1722
\assert($rootNode instanceof ArrayNodeDefinition);
1823

1924
$rootNode->append($this->createSubscriberNode());
@@ -23,8 +28,13 @@ public function getConfigTreeBuilder(): TreeBuilder
2328

2429
private function createSubscriberNode(): ArrayNodeDefinition
2530
{
26-
$treeBuilder = new TreeBuilder('session_subscriber');
27-
$rootNode = $treeBuilder->getRootNode();
31+
if ($this->isBeforeSymfony4()) {
32+
$treeBuilder = new TreeBuilder();
33+
$rootNode = $treeBuilder->root('session_subscriber');
34+
} else {
35+
$treeBuilder = new TreeBuilder('session_subscriber');
36+
$rootNode = $treeBuilder->getRootNode();
37+
}
2838
\assert($rootNode instanceof ArrayNodeDefinition);
2939

3040
$rootNode->addDefaultsIfNotSet();
@@ -36,4 +46,9 @@ private function createSubscriberNode(): ArrayNodeDefinition
3646

3747
return $rootNode;
3848
}
49+
50+
private function isBeforeSymfony4(): bool
51+
{
52+
return !\method_exists(TreeBuilder::class, 'getRootNode');
53+
}
3954
}

tools/phpstan/phpstan.neon

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ parameters:
55
inferPrivatePropertyTypeFromConstructor: true
66
checkGenericClassInNonGenericObjectType: false
77
checkMissingIterableValueType: false
8+
reportUnmatchedIgnoredErrors: false
9+
ignoreErrors:
10+
- "#Call to function method_exists() with 'Symfony\\\\Component…' and 'getRootNode' will always evaluate to false.#"
811

912
services:
1013
-

0 commit comments

Comments
 (0)