@@ -86,23 +86,32 @@ protected function setEnv(array $vars, $override, $mode = self::PUTENV)
86
86
continue ;
87
87
}
88
88
89
- $ value = $ this ->resolveRef ($ value );
90
-
91
- $ this ->toEnv ($ key , $ value , $ mode );
92
- $ this ->toServer ($ key , $ value , $ mode );
93
- $ this ->toPutenv ($ key , $ value , $ mode );
89
+ $ this ->set ($ key , $ value , $ mode );
94
90
}
91
+
92
+ $ this ->resolveRefs ($ vars , $ mode );
95
93
}
96
94
97
- protected function resolveRef ( $ value )
95
+ protected function set ( $ key , $ value, $ mode )
98
96
{
99
- if (!$ value || \strpos ($ value , '${ ' ) === false ) {
100
- return $ value ;
101
- }
97
+ $ this ->toEnv ($ key , $ value , $ mode );
98
+ $ this ->toServer ($ key , $ value , $ mode );
99
+ $ this ->toPutenv ($ key , $ value , $ mode );
100
+ }
102
101
103
- return \preg_replace_callback ('~\$\{(\w+)\}~ ' , function ($ m ) {
104
- return (null === $ ref = Retriever::getEnv ($ m [1 ], null )) ? $ m [0 ] : $ ref ;
105
- }, $ value );
102
+ protected function resolveRefs ($ vars , $ mode )
103
+ {
104
+ foreach ($ vars as $ key => $ value ) {
105
+ if (!$ value || \strpos ($ value , '${ ' ) === false ) {
106
+ continue ;
107
+ }
108
+
109
+ $ value = \preg_replace_callback ('~\$\{(\w+)\}~ ' , function ($ m ) {
110
+ return (null === $ ref = Retriever::getEnv ($ m [1 ], null )) ? $ m [0 ] : $ ref ;
111
+ }, $ value );
112
+
113
+ $ this ->set ($ key , $ value , $ mode );
114
+ }
106
115
}
107
116
108
117
private function toEnv ($ key , $ value , $ mode )
0 commit comments