filePath = $this->getFilePath($path, $file); $this->loader = new Loader($this->filePath, true); } /** * Load environment file in given directory. * * @return array */ public function load() { return $this->loadData(); } /** * Load environment file in given directory, suppress InvalidPathException. * * @return array */ public function safeLoad() { try { return $this->loadData(); } catch (InvalidPathException $e) { // suppressing exception return array(); } } /** * Load environment file in given directory. * * @return array */ public function overload() { return $this->loadData(true); } /** * Returns the full path to the file. * * @param string $path * @param string $file * * @return string */ protected function getFilePath($path, $file) { if (!is_string($file)) { $file = '.env'; } $filePath = rtrim($path, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$file; return $filePath; } /** * Actually load the data. * * @param bool $overload * * @return array */ protected function loadData($overload = false) { return $this->loader->setImmutable(!$overload)->load(); } /** * Required ensures that the specified variables exist, and returns a new validator object. * * @param string|string[] $variable * * @return \Dotenv\Validator */ public function required($variable) { return new Validator((array) $variable, $this->loader); } /** * Get the list of environment variables declared inside the 'env' file. * * @return array */ public function getEnvironmentVariableNames() { return $this->loader->variableNames; } }