Парсинг конфига из текстового файла

hell0w0rd

Продвинутый новичок

ksnk

прохожий
@hell0w0rd, Почему это - вырвал? Просто тебе кажется, что есть конфиг для "машин" и есть конфиг(другой) для человеков. А мне кажется, что в "настоящем конфиге" все должно быть прекрасно и человекопонятно после машинной перезаписи. С моим подходом - количество конфигов можно уменьшить...
 

Breeze

goshogun
Команда форума
Партнер клуба
а потом все-равно будет как с "одноклассниками", конфиг с лишним переводом строки и досвидания 5000 серверов ^_^
 

hell0w0rd

Продвинутый новичок
@ksnk, а можно пример, в котором ты записываешь конфиг не руками, а с помощью программы? Я знаю только один - генератор конфигов в консоли. Под это все готово. Где еще?
 

ksnk

прохожий
@hell0w0rd, Параметры приложения, которые неразумно хранить в базе, хранятся в файле конфигурации. Эти параметры меняются клиентом с помощью админки. Для конкретики - параметры генерации миниатюр изображений после загрузки, зависит как от установленного дизайна(желание разработчика) так и от произвола самого клиента (хочу большую картинку побольше/ у меня мало места). Получившийся файл конфигурации удобно смотреть-проверять прямо в коде. Понятно, что разработчику интереснее смотреть на параметры в комплексе, устанавливая новые, недоступные пользователю, а пользователю разумнее знать страницу админки, где он может поправить только то, что ему нужно.
 

WMix

герр M:)ller
Партнер клуба
высокие технологие уже сегодня
cache в формате json
 

hell0w0rd

Продвинутый новичок
То что нужно редактировать разработчику - должно быть в коде (там же и параметры по умолчанию). Во всех языках есть функция для мержа двух хешей, а если нет - ее можно написать в 10-15 строк.
PHP:
function getConfig($filename, $defaults) {
    $config = json_decode(file_get_contents($filename));
    return array_replace($defaults, $config);
}

$config = getConfig('/path/to/config.json', [
    'secret_key' => 123
]);
 

fixxxer

К.О.
Партнер клуба
После phpstorm/webstorm - запросто
Тормозит сильнее, чем сторм, в котором включено всё, включая спеллчекер, по функциональности не дотягивает даже до vim с вменяемым набором плагинов.

И, да, atom-vim-mode - кривой до ужаса. :)

Конечно, за этим будущее, но пока что - не.
 

fixxxer

К.О.
Партнер клуба
@fixxxer, @hell0w0rd, а какие плюсы у этого атома?
В идеальном мире будущего, когда в каждой лампочке будет 10-гигабитный безлимитный 6G интернет, все приложения и данные будут в облаке, а клиентская операционная система будет браузером. Типа того :)
 
Сверху