maks/envparser

There is no license information available for the latest version (1.0.0) of this package.

1.0.0 2020-01-11 22:21 UTC

This package is not auto-updated.

Last update: 2025-07-08 15:38:21 UTC


README

Environment Parser

Установка

Используйте команду

composer require maks/envparser:*

или добавьте

"maks/envparser": "*"

в секцию require вашего composer.json файла.

Команды

Загрузить *.env из домашней директории:

MyENV::load();

Получить переменные окружения файла Env.env:

MyENV::get('Env.env');

или

MyENV::get('Env');

Регистр неважен.

Доступ к определенному значению осуществляется как в ассоциативном массиве - с использованием ключа

MyENV::get('Env')['key'];

Показать доступные файлы *.env

MyENV::getAllEnv();

Изменить разделитель ключ - значение:

MyENV::$optionsKeyValueDelimiter = "=";

Изменить символ начала комментария:

MyENV::$optionsComment = "#";

Включить/отключить преобразование типов значений:

MyENV::$optionsChangeValuesType = true/false;

Синтаксис

По-умолчанию комментарии определяются символом '#'. Могут быть как на отдельной строке, так и после значения

test.env

# This is comment
Value = 2 #This is comment too

Перед началом комментария обязательно должен стоять пробел

test.env

Value2 = 2# This is value

Если обнаружена незакрытая кавычка - комментарий становится значением

New = "value # This is value again

При загрузке файла пропускаются пустые строки, строки с комментариями и строки без разделителя 'ключ-значение'

test.env

Valid = strings

This line will be skipped

#This comment will be skipped

Преоразование типов

test.env

This_is_integer = 123

This_is_float = 32.35

This_is_bool = true
This_is_bool = false

Регистр для булевого типа имеет значение

This_is_string = False

Для значения null тоже

This_is_null = NULL
This_is_string = false

Массив идентифицируется квадратными скобками. Значения массива являются строками. Вложенные массивы не поддерживаются и также являются строками.

This_is_array = [1, 2, 3, 4] # Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
Array_again = [[1, 2], 3, 4] # Array ( [0] => [1 [1] => 2] [2] => 3 [3] => 4 ) ) 

Все остальные случаи будут преобразованы в строку.

При наличии одинаковых ключей, сохраняется значение последнего