Конвертер конфигов

Не вставляйте боевые .env с паролями и токенами: файл уходит на сервер для разбора.

Что теряется при преобразовании

Форматы неравны по возможностям, и часть преобразований необратима. Инструмент говорит об этом прямо, вместо того чтобы выдать правдоподобный, но неверный результат.

в .envвложенность уплощается в DB_HOST; списки не поддерживаются; имя с цифры впереди получает букву-префикс
из .envзначения остаются строками: PORT=5432 это "5432", а не число
в CSVнужен массив объектов с одинаковыми полями — таблица не хранит вложенность
из CSVпервая строка становится заголовком, все значения — строки
в XMLкорневой элемент root; ключи приводятся к именам тегов
из XMLатрибуты попадают в @attributes, повторяющиеся теги — в список

Почему .env не разворачивается во вложенность

Из имени DB_HOST невозможно надёжно понять, это db.host или цельный ключ: APP_SECRET — не app.secret. Инструмент уплощает вниз, но не угадывает вверх: молчаливая ошибка в конфиге дороже лишней ручной работы. Ещё одно ограничение имени переменной: оно не может начинаться с цифры — такие ключи (например, из списка объектов или CSV с числовым индексом впереди) получают букву-префикс: 0_NAME становится V0_NAME.

Частые вопросы

Что теряется при переводе в .env?

Из имени DB_HOST невозможно надёжно понять, это db.host или цельный ключ: APP_SECRET — не app.secret. Инструмент уплощает вниз, но не угадывает вверх: молчаливая ошибка в конфиге дороже лишней ручной работы. Кроме того, .env хранит только плоские пары «ключ — значение» — списки не поддерживаются, а имя переменной не может начинаться с цифры, поэтому такие ключи получают букву-префикс: 0_NAME становится V0_NAME.

Почему из CSV всё приходит строками?

CSV — текстовый табличный формат без понятия типов: значения остаются строками, PORT=5432 это "5432", а не число. Угадывать типы так же опасно, как угадывать вложенность, — формат этой информации не несёт.

Почему XML с DOCTYPE не принимается?

DOCTYPE в XML позволяет объявлять внешние сущности и подставлять содержимое произвольных файлов сервера (атака XXE). Документы с DOCTYPE инструмент отклоняет с понятным объяснением ещё до разбора, вне зависимости от того, что внутри.

Другие конвертеры

JSON ⟷ PHP-массив, JSON ⟷ YAML, CSV ⟷ JSON, JSON ⟷ XML, а также остальные инструменты.

Читайте по теме: продакшен-конфиг Nginx + PHP-FPM — пример реальных конфигов, которые удобно проверять этим конвертером.

Нужна разработка или консультация?

Опишите задачу — отвечу и предложу формат работы.

Обсудить задачу