Download the PHP package enjoys/dotenv without Composer
On this page you can find all versions of the php package enjoys/dotenv. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download enjoys/dotenv
More information about enjoys/dotenv
Files in enjoys/dotenv
Package dotenv
Short Description Registers environment variables from a .env file
License MIT
Informations about the package dotenv
Парсер .env файлов.
Загружаются .env.dist, .env и остальные файлы в зависимости от APP_ENV. Например, если APP_ENV=test, будет попытка загрузить .env.test
Приоритет конфигурационных файлов
- сначала загружается dist файл, но у него приоритет самый низкий.
- потом загружается основной файл (.env), все параметры которые в нём определены - перезапишут dist
- и последний файл - это файл окружения, если он существует. все параметры в нем будут иметь наивысший приоритет, и они перезапишут предыдущие значения. Этот файл не обязателен.
- переменные окружения установленные системно, например через export и т.п. имеют наивысший приоритет, так как они не перезаписываются
Установка
Использование
Формат .env файлов
Дополнительные возможности
Type Casting (приведение типов)
Все значения в .env файле являются строками (string), но иногда было бы хорошо привести значение к соответствующему типу.
Это возможно, установив свойство $castType в true с помощью метода enableCastType()
.
...или с помощью флага Dotenv::CAST_TYPE_ENV_VALUE
Доступные флаги
Ниже примеры как будут кастоваться переменные
- *bool - return bool(true) or bool(false)
- *true - return bool(true)
- *false - return bool(false)
- *null - return NULL
- int `int 42` return int(42)
- *int8
- *int16
- *float* or double* `float 3,14` return float(3.14), запятые автоматически заменяются на точки
- string - `string int` return string(4) "int"
Внимание Type Casting будет работать только при использовании этой библиотеки, при парсинге файла другими библиотеками или системой значения скорее всего приведены к типам не будут.
Значения переменных по-умолчанию
Если переменная не установлена, можно определить значения по-умолчанию. Есть два варианта как это сделать:
${VAR:-default}
- при этом варианте, если переменная не будет установлена, вернется значение после знака:-
, переменная при этом также останется не установленной, в противном случае будет возвращено значение переменной.${VAR:=default}
- при этом варианте, если переменная не будет установлена, вернется значение после знака:=
и установить переменную с этим значением, в противном случае будет возвращено значение переменной.
Внимание! Если переменная не установлена, и не переданы значения по-умолчанию, будет возвращена пустая строка.
Чтобы вызвать ошибку при таком сценарии, можно указать после наименования переменной :?
, или :?message
. И в случае
если
переменная не была установлена, будет выброшено исключение \Enjoys\Dotenv\Exception\InvalidArgumentException
Например:
Доступные флаги
- CLEAR_MEMORY_AFTER_LOAD_ENV - очищает память после установки всех значений в $_ENV, $_SERVER или putenv()
- CAST_TYPE_ENV_VALUE - приводит к типу на основе содержимого (string|bool|int|float|null)
- POPULATE_PUTENV - будут доступны установленные значения помимо $_ENV также из getenv()
- POPULATE_SERVER - будут доступны установленные значения помимо $_ENV также из $_SERVER
Флаги можно комбинировать через |
, например Dotenv::CAST_TYPE_ENV_VALUE|Dotenv::POPULATE_PUTENV