We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent deac556 commit 4cb5f06Copy full SHA for 4cb5f06
Dotenv.php
@@ -495,7 +495,7 @@ private function resolveVariables(string $value, array $loadedVars): string
495
(?!\() # no opening parenthesis
496
(?P<opening_brace>\{)? # optional brace
497
(?P<name>'.self::VARNAME_REGEX.')? # var name
498
- (?P<default_value>:[-=][^\}]++)? # optional default value
+ (?P<default_value>:[-=][^\}]*+)? # optional default value
499
(?P<closing_brace>\})? # optional closing brace
500
/x';
501
Tests/DotenvTest.php
@@ -175,6 +175,14 @@ public static function getEnvData()
175
["FOO=BAR\nBAR=\${NOTDEFINED:=TEST}", ['FOO' => 'BAR', 'NOTDEFINED' => 'TEST', 'BAR' => 'TEST']],
176
["FOO=\nBAR=\${FOO:=TEST}", ['FOO' => 'TEST', 'BAR' => 'TEST']],
177
["FOO=\nBAR=\$FOO:=TEST}", ['FOO' => 'TEST', 'BAR' => 'TEST}']],
178
+ ["FOO=BAR\nBAR=\${FOO:-}", ['FOO' => 'BAR', 'BAR' => 'BAR']],
179
+ ["FOO=BAR\nBAR=\${NOTDEFINED:-}", ['FOO' => 'BAR', 'BAR' => '']],
180
+ ["FOO=\nBAR=\${FOO:-}", ['FOO' => '', 'BAR' => '']],
181
+ ["FOO=\nBAR=\$FOO:-}", ['FOO' => '', 'BAR' => '}']],
182
+ ["FOO=BAR\nBAR=\${FOO:=}", ['FOO' => 'BAR', 'BAR' => 'BAR']],
183
+ ["FOO=BAR\nBAR=\${NOTDEFINED:=}", ['FOO' => 'BAR', 'NOTDEFINED' => '', 'BAR' => '']],
184
+ ["FOO=\nBAR=\${FOO:=}", ['FOO' => '', 'BAR' => '']],
185
+ ["FOO=\nBAR=\$FOO:=}", ['FOO' => '', 'BAR' => '}']],
186
["FOO=foo\nFOOBAR=\${FOO}\${BAR}", ['FOO' => 'foo', 'FOOBAR' => 'foo']],
187
188
// underscores
0 commit comments