Update Env class
This commit is contained in:
parent
a047e15f7e
commit
90cba517cb
1 changed files with 17 additions and 14 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue