Skip to content

Commit 3c408f8

Browse files
committed
Adding type casting to environment variables
1 parent 5a3989a commit 3c408f8

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/Mouf/MoufConfigManager.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,15 @@ public function setDefinedConstants($constants) {
130130
$fetchFromEnv = false;
131131
}
132132
if ($fetchFromEnv) {
133-
fwrite($fp, "define(".var_export($key, true).", getenv(".var_export($key, true).") !== false?getenv(".var_export($key, true)."):".var_export($value, true).");\n");
133+
$fetchCode = "getenv(".var_export($key, true).")";
134+
if ($def['type'] === 'int') {
135+
$fetchCode = '(int) '.$fetchCode;
136+
} elseif ($def['type'] === 'float') {
137+
$fetchCode = '(float) '.$fetchCode;
138+
} elseif ($def['type'] === 'bool') {
139+
$fetchCode = 'filter_var('.$fetchCode.', FILTER_VALIDATE_BOOLEAN)';
140+
}
141+
fwrite($fp, "define(".var_export($key, true).", getenv(".var_export($key, true).") !== false?$fetchCode:".var_export($value, true).");\n");
134142
} else {
135143
fwrite($fp, "define(".var_export($key, true).", ".var_export($value, true).");\n");
136144
}

0 commit comments

Comments
 (0)