From ad92a452948ebf48ff3f867c2b6c914796a5f987 Mon Sep 17 00:00:00 2001 From: Guillermo Pages Date: Mon, 30 Aug 2021 17:52:45 +0200 Subject: [PATCH] feat: add DotEnv class --- src/Utils/Configuration/Configuration.php | 14 +++---- src/Utils/DotEnv.php | 39 ++++++++++++++++++++ src/Utils/WhichEnv/WhichEnvRuleInterface.php | 2 +- 3 files changed, 47 insertions(+), 8 deletions(-) create mode 100644 src/Utils/DotEnv.php diff --git a/src/Utils/Configuration/Configuration.php b/src/Utils/Configuration/Configuration.php index 1838f2a..a80ba68 100644 --- a/src/Utils/Configuration/Configuration.php +++ b/src/Utils/Configuration/Configuration.php @@ -31,9 +31,9 @@ class Configuration { private $values = array(); /** - * + * */ - private function __construct() + private function __construct() { if (!isset($this->values['session'])) { $this->values['session'] = array(); @@ -47,7 +47,7 @@ class Configuration { $this->loadConfigFromFile(); } } - + /** * The path to the file including file name * @param string $filePath @@ -131,8 +131,8 @@ class Configuration { * Checks whether the nested key exists * * @param array $data - * @param array $keys - * @return boolean + * @param array $keys + * @return boolean */ public static function existsKeys(array $data, array $keys) { @@ -147,9 +147,9 @@ class Configuration { /** * @param array $data - * @param array $keys + * @param array $keys * @param any $default - * @return boolean + * @return boolean */ public static function fetchRecursive(array $data, array $keys, $default = null) { diff --git a/src/Utils/DotEnv.php b/src/Utils/DotEnv.php new file mode 100644 index 0000000..17d801a --- /dev/null +++ b/src/Utils/DotEnv.php @@ -0,0 +1,39 @@ + 2 + ? [$parts[0], implode('=', array_slice($parts, 1))] + : $parts + ); + $vars[$varname] = $value; + return $vars; + }, []); + return $envvars; + } + + public static function MUTATE_SERVER_addEnvVars(array $variables) { + $_SERVER = array_merge($_SERVER, $variables); + } + + public static function load(string $rootDir) { + $envvars = self::loadFromFile($rootDir . DIRECTORY_SEPARATOR . '.env'); + self::MUTATE_SERVER_addEnvVars($envvars); + } + +} \ No newline at end of file diff --git a/src/Utils/WhichEnv/WhichEnvRuleInterface.php b/src/Utils/WhichEnv/WhichEnvRuleInterface.php index 82fb440..17e4bac 100644 --- a/src/Utils/WhichEnv/WhichEnvRuleInterface.php +++ b/src/Utils/WhichEnv/WhichEnvRuleInterface.php @@ -2,7 +2,7 @@ namespace Bsr\Utils\WhichEnv; /** - * + * */ interface WhichEnvRuleInterface { /**