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:----TFxSmKC2AVhNPpkCZyuX1KDbXVfD6cSf9rnzJwko+AVmld7KZq6fgH1VP47G5VykJgPrLtJ8UFleT6ShQlkrxW4rH57/yx4OwooJHrRDeMkAp1aeEGVpiLqaHHoElRXhSMbAYdduwBgzrrxhJoPZnnC5vrkvfz1M6vEMKXcF87LcMGokBK1xbS0Z4eOY/Y5We05f3Q6+7u6zJmXqBE68hYRsZC0ZZfQEHcO/rQ4nLwjW+qLTDXKyvPl3W80CZ5gKtGbTtIvaE/UeCeseIFpN2FG7TfXXwUDgJSSwm63EgfHiQoOVmErYSIIev5Hsmy8kCNIzQYONYq52dnpahWpKc5XLofQrlw0AovghQWh+PdjntHybkkSfs1yjCbjt68qXMEaNkGNTG9/tAPXZ+zdVxOUKrDGFEHQoSBh3zKCF4JIdbshKFVPCNqXQv/cqAzLsEPnnHD//QSXzlyut/HQqjwZbklDZ1ACkhgZ5IOo6RC6Fn0KkYPZOLFzH9BkSicy0veSIvHJyQ4JGB/p0JRheht9kzfqHreihlYWArOGuRSLUUEf0kUPT5FRvvJGfe3sgP8aHb9zxRPRdeJB2tqH2NDe5HBQ0JaHhz8tX43OL6i4AlTiIcXXTzLVrYw32PwDAObZdFjHf9bKYDRiDnGxR42JFtRoaODfG1Vcdgk7PSss=----ATTACHMENT:----NDEyMDMwMjQxOTAyMjc1MiA3OTYzOTg2OTE3NDcxNDkxIDkyMjU1MzY4Nzc1NTA3NjM=