Update Env class

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

View file

@ -15,25 +15,28 @@ 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;
$result = getenv($key);
if($dotenv->required($key)->isBoolean()) {
return filter_var($result, FILTER_VALIDATE_BOOLEAN); return filter_var($result, FILTER_VALIDATE_BOOLEAN);
break; }
case filter_var($result, FILTER_VALIDATE_INT): else if($dotenv->required($key)->isInteger()) {
return (int) $result; return (int) $result;
break; }
default: else {
return $result; return $result;
} }
} }