1. Go to this page and download the library: Download enjoys/dotenv library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
enjoys / dotenv example snippets
composer
use Enjoys\Dotenv\Dotenv;
# loaded line __DIR__.'/.env.dist -> __DIR__.'/.env' -> __DIR__.'/.env.<APP_ENV> (repeat.env.<APP_ENV> if redefined)
$dotenv = new Dotenv(__DIR__.'/.env');
// config available in $_ENV
$dotenv->loadEnv();
# config available in $_ENV and getenv()
# $dotenv->loadEnv(true);
use Enjoys\Dotenv\Dotenv;
$dotenv = new Dotenv(__DIR__.'/.env');
$dotenv->enableCastType();
$dotenv->loadEnv();
use \Enjoys\Dotenv\Dotenv;
$dotenv = new Dotenv(__DIR__.'/.env', flags: Dotenv::CAST_TYPE_ENV_VALUE);
$dotenv->loadEnv();
// Несогласованное поведение (опасно!):
$debugFromEnv = $_ENV['DEBUG']; // bool(true) - если включен CAST_TYPE_ENV_VALUE
$debugFromGetenv = getenv('DEBUG'); // string('true') - всегда строка!
// Предсказуемое поведение с функцией env() (рекомендуется):
$debug1 = env('DEBUG', false); // Всегда bool(false), если переменной нет
$debug2 = env('DEBUG', '*true'); // Всегда bool(true), если переменной нет
$debug3 = env('DEBUG'); // Значение будет приведено к типу корректно
// Получение значения переменной окружения (вернет localhost если переменная не существует)
$dbHost = env('DB_HOST', 'localhost');
// Без значения по умолчанию (вернет null если переменная не существует)
$dbPort = env('DB_PORT');
// Преобразование + валидация в одном callback
$port = env('PORT', 8080, function($value) {
$value = (int) $value;
if ($value < 1 || $value > 65535) {
throw new InvalidArgumentException("Port must be between 1 and 65535");
}
return $value;
});
// Массив хостов с валидацией
$allowedHosts = env('ALLOWED_HOSTS', 'localhost', function($value) {
$hosts = array_filter(array_map('trim', explode(',', $value)));
if (empty($hosts)) {
throw new InvalidArgumentException("At least one host
// Используйте callback, который возвращает значение как есть
$rawValue = env('SOME_VAR', null, fn($v) => $v);
return [
'debug' => env('APP_DEBUG', false, fn($v) => (bool) $v),
'env' => env('APP_ENV', 'production', 'strtolower'),
'name' => env('APP_NAME', 'My App', 'trim'),
'database' => [
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', 3306, function($v) {
$port = (int) $v;
if ($port <= 0) {throw new InvalidArgumentException("DB port must be positive");}
return $port;
}),
'name' => env('DB_NAME', 'app'),
'user' => env('DB_USER', 'root'),
'pass' => env('DB_PASS', '', function($v) {
if (empty($v)) {throw new InvalidArgumentException("DB password is
// Если установлено и в getenv() и в $_ENV - используется getenv()
putenv('TEST_VAR=system_value');
$_ENV['TEST_VAR'] = 'env_value';
env('TEST_VAR'); // → "system_value"
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.