Skip to content

Commit b1d8f0d

Browse files
committed
[DependencyInjection][Config] Use several placeholder unique prefixes for dynamic placeholder values
1 parent 06ae0de commit b1d8f0d

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

Definition/BaseNode.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ abstract class BaseNode implements NodeInterface
2626
{
2727
const DEFAULT_PATH_SEPARATOR = '.';
2828

29-
private static $placeholderUniquePrefix;
29+
private static $placeholderUniquePrefixes = [];
3030
private static $placeholders = [];
3131

3232
protected $name;
@@ -74,7 +74,7 @@ public static function setPlaceholder(string $placeholder, array $values): void
7474
}
7575

7676
/**
77-
* Sets a common prefix for dynamic placeholder values.
77+
* Adds a common prefix for dynamic placeholder values.
7878
*
7979
* Matching configuration values will be skipped from being processed and are returned as is, thus preserving the
8080
* placeholder. An exact match provided by {@see setPlaceholder()} might take precedence.
@@ -83,7 +83,7 @@ public static function setPlaceholder(string $placeholder, array $values): void
8383
*/
8484
public static function setPlaceholderUniquePrefix(string $prefix): void
8585
{
86-
self::$placeholderUniquePrefix = $prefix;
86+
self::$placeholderUniquePrefixes[] = $prefix;
8787
}
8888

8989
/**
@@ -93,7 +93,7 @@ public static function setPlaceholderUniquePrefix(string $prefix): void
9393
*/
9494
public static function resetPlaceholders(): void
9595
{
96-
self::$placeholderUniquePrefix = null;
96+
self::$placeholderUniquePrefixes = [];
9797
self::$placeholders = [];
9898
}
9999

@@ -513,8 +513,10 @@ private static function resolvePlaceholderValue($value)
513513
return self::$placeholders[$value];
514514
}
515515

516-
if (self::$placeholderUniquePrefix && 0 === strpos($value, self::$placeholderUniquePrefix)) {
517-
return [];
516+
foreach (self::$placeholderUniquePrefixes as $placeholderUniquePrefix) {
517+
if (0 === strpos($value, $placeholderUniquePrefix)) {
518+
return [];
519+
}
518520
}
519521
}
520522

0 commit comments

Comments
 (0)