Blame | Letzte Änderung | Log anzeigen | RSS feed
<?phpnamespace Illuminate\Support;use Dotenv\Repository\Adapter\PutenvAdapter;use Dotenv\Repository\RepositoryBuilder;use PhpOption\Option;class Env{/*** Indicates if the putenv adapter is enabled.** @var bool*/protected static $putenv = true;/*** The environment repository instance.** @var \Dotenv\Repository\RepositoryInterface|null*/protected static $repository;/*** Enable the putenv adapter.** @return void*/public static function enablePutenv(){static::$putenv = true;static::$repository = null;}/*** Disable the putenv adapter.** @return void*/public static function disablePutenv(){static::$putenv = false;static::$repository = null;}/*** Get the environment repository instance.** @return \Dotenv\Repository\RepositoryInterface*/public static function getRepository(){if (static::$repository === null) {$builder = RepositoryBuilder::createWithDefaultAdapters();if (static::$putenv) {$builder = $builder->addAdapter(PutenvAdapter::class);}static::$repository = $builder->immutable()->make();}return static::$repository;}/*** Gets the value of an environment variable.** @param string $key* @param mixed $default* @return mixed*/public static function get($key, $default = null){return Option::fromValue(static::getRepository()->get($key))->map(function ($value) {switch (strtolower($value)) {case 'true':case '(true)':return true;case 'false':case '(false)':return false;case 'empty':case '(empty)':return '';case 'null':case '(null)':return;}if (preg_match('/\A([\'"])(.*)\1\z/', $value, $matches)) {return $matches[2];}return $value;})->getOrCall(fn () => value($default));}}