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 = 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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue