Update Env class

This commit is contained in:
Maarten 2020-02-13 19:21:27 +01:00
parent a047e15f7e
commit 90cba517cb

View file

@ -15,26 +15,29 @@ class Env {
$dotenv = Dotenv::createImmutable('../');
$dotenv->load();
$result = getenv(strtoupper($key));
return self::filter($result);
return self::filter($dotenv, $key);
}
/**
* @param string $result
* @param Dotenv $dotenv
* @param string $key
* @return mixed
*/
private static function filter(string $result)
private static function filter($dotenv, string $key)
{
switch ($result) {
case in_array($result, ['true', 'false']):
return filter_var($result, FILTER_VALIDATE_BOOLEAN);
break;
case filter_var($result, FILTER_VALIDATE_INT):
return (int) $result;
break;
default:
return $result;
$key = strtoupper($key);
if (!$dotenv->ifPresent($key)) return false;
$result = getenv($key);
if($dotenv->required($key)->isBoolean()) {
return filter_var($result, FILTER_VALIDATE_BOOLEAN);
}
else if($dotenv->required($key)->isInteger()) {
return (int) $result;
}
else {
return $result;
}
}