EasyConfig - eще один формат конфигурации в PHP

Форматов хранения данных уже очень много, но, я думаю, еще один не будет лишним. Без лишних предисловий перейду к его описанию.

Этот формат очень простой, но он позволяет описать практически любые массивы, которые можно создать в PHP (объекты и функции в качестве значений не в счет). Он содержит минимум разметки, удобочитаем, данные можно легко править вручную.

Особенности формата:

  • Поддерживает строки, числа, булевые значения и NULL;
  • Вложенность определяется отступами;
  • Есть возможность создавать ключи к элементам массивов автоматически.

Кратко о синтаксисе:

Ключи и значения разделяются пробелами или табуляцией, одна пара на строку:

variable value

Чтобы определить массив, нужно просто указать имя элемента без значения, а для вложенных элементов будет увеличен отступ.

array
    element1 1
    element2 0.5
    element3 1e-5
    element4 true
    element5 false
    element6 null
    element7 'string

Как видим, значения записываются так же как и в PHP, за исключением строк. Строки начинаются символом апострофа и заканчиваются с концом строки. Если в строке есть переносы строк, то строка записывается следующим образом:

string  'first line
        'second line

Можно написать вместо апострофа знак "плюс", тогда в результат не будет добавлен перенос строки, в результате чего текст будет идти в одну строчку.

string 'one two three
       + four five six

Если в ключе элемента есть пробелы или знаки табуляции, то он заключается в двойные или косые кавычки.

"key 1" 1
`key 2` 2

Для того чтобы ключи элементам массива присваивались автоматом, используется символ "собачка".

array
   @ '[0] => value
   @ '[1] => value
   5 '[5] => value
   @ '[6] => value

Комментарии начинаются символом "решетка" и продолжаются до конца строки.

PHP класс для работы с этим форматом можно скачать с github