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