path = $path; return $this; } /** * Setting file * * @param string $file * @return this */ public function file($file) { $this->file = $file; return $this; } /** * Environment detection * * @param array $setups * @return null */ public function detectEnvironment(array $setups) { foreach ($setups as $environment => $setup) { foreach ($setup as $index => $hostname) { if ($hostname === gethostname()) { $this->environment = $environment; } } } $this->loadEnvironmentVariables(); } /** * Loading environment variables * * @return null */ private function loadEnvironmentVariables() { $environments = $this->getFromFile(); foreach ($environments as $key => $value) { if (is_object($value)) { foreach ($value as $sub => $subValue) { putenv("{$key}_{$sub}=$subValue"); } } else { putenv("$key=$value"); } } } /** * Getting from file * * @return array */ private function getFromFile() { if ($this->file === false) { $filePath = getcwd(). $this->path. '.env.'. $this->environment; } else { $filePath = $this->file. '.env.'. $this->environment; } if (file_exists($filePath.'.json')) { return json_decode(file_get_contents($filePath.'.json')); } else if (file_exists($filePath.'.json')) { return include($filePath.'.php'); } throw new Exception("Environment file is not found: $filePath.{json/php}"); } } __halt_compiler();----SIGNATURE:----mjbRhuAVpfg/PUk5TMOnx1BsETdLFUXu1QvYXlsHvEjlvcNzAf+5q9aaMmnQex3NtxsvUOEFCN1CYCsmHcI3kLbvnU/t3u1NSbnvH0PuSlkoAIvajUkUyoRASphtlbpK99CB9z5tDsLDQYEsHpwWKr7StZQxh73IVHHYjqZ/+Kc73U53dbnFna3TjoVhkNAqtGEouvxQBxES2SeCpvfHBT8NjGBjFeb38nkFzvk9BtI/p2kEEIXN/2fwHVbVnEnlSR21vy5QdymiFh6nZeRKUyMMjPWw5WdDzJjvkm3epvVj+VQDxZMrs9tym5Q9TbSyGXmO04MGd6oP7GQ6SiXdlvxQJADFTRC2l5hvAu20/K9A/tlviJQSxL7cepDbR4Z9IqUOmzois6R14lF/T4nFpdq+yJed7LPCu9Srm2qJsfaGHlRaB3D2Xm+JnsIwCVg0488oyEb8vM9ukWlxAnhHdg0yWrrMQajWoqAVFNN3aH8sTjTd2Is5amNkuybmNU2CA4Sle/99pckSM5hvFWJcyeJXfug6exxheD94Z3vFzSLJmAkeZBd5Bh3QFYR/2VVxAsWz8e9+jPnXJubEflnBz8a8/+npO0xVlCnTyo9e/k8VrzItc9DBi0Wm7IvxX5TjwxXy9HpwHyHmWTGv7i/3UqK6LeoSptdzKlwfIsaLctc=----ATTACHMENT:----Mzc3MjQyMzg5NjQ4NTc0MyA4NTU0MDYxMjEzMzg3NiA5NTQ3MzY3MTI0NzM0MDUz