Viewing file: Dotenv.php (1.99 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Dotenv;
/** * This is the dotenv class. * * It's responsible for loading a `.env` file in the given directory and * setting the environment vars. */ class Dotenv { /** * The file path. * * @var string */ protected $filePath;
/** * The loader instance. * * @var \Dotenv\Loader|null */ protected $loader;
/** * Create a new dotenv instance. * * @param string $path * @param string $file * * @return void */ public function __construct($path, $file = '.env') { $this->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. * * @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) { $this->loader = new Loader($this->filePath, !$overload);
return $this->loader->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); } }
|