Сохранение данных в конфиг

RM
На сайте с 21.06.2011
Offline
77
890

Пишу движок и появилась нужда в админке, начал писать, а тут проблема - файлы конфигов основаны на константах(define), соответственно вопрос: как при редактировании сохранить значения в файл? С массивами понятно там var_export + file_put_contents или еще что нибудь подобное, а вот как быть с константами?

Заранее благодарен за ответы.

mfl
На сайте с 16.10.2006
Offline
134
mfl
#1

$ttt = get_defined_constants(1);

результат var_export($ttt['user']) меняете регулярными выражениями (или циклом массив обходите) + file_put_contents

RM
На сайте с 21.06.2011
Offline
77
#2
mfl:
$ttt = get_defined_constants(1);

результат var_export($ttt['user']) меняете регулярными выражениями (или циклом массив обходите) + file_put_contents

Хм.. А есть еще варианты?

mfl
На сайте с 16.10.2006
Offline
134
mfl
#3

варианты чего, получения всех констант или преобразования массива в строку для записи в конфиг?

чем вариант с обходом массива не устраивает?

ДП
На сайте с 23.11.2009
Offline
203
#4

А почему вы хотите хранить в конфиге именно в виде define константы?

Есть же готовые классы разбора разных файлов - ini,yaml,xml. Можно же считывать файл, а потом дефайнить константы.

Если в целях экономии ресурсов - думаю не сильно много сэкономите.

RM
На сайте с 21.06.2011
Offline
77
#5
mfl:
варианты чего, получения всех констант или преобразования массива в строку для записи в конфиг?
чем вариант с обходом массива не устраивает?

Варианты преобразования массива в строку, чтобы сохранить в файл.

---------- Добавлено в 17:49 ---------- Предыдущее сообщение было в 17:48 ----------

Дикий пионер:
А почему вы хотите хранить в конфиге именно в виде define константы?
Есть же готовые классы разбора разных файлов - ini,yaml,xml. Можно же считывать файл, а потом дефайнить константы.
Если в целях экономии ресурсов - думаю не сильно много сэкономите.

Так удобнее + уже много написал кода, чтобы исправить... Да и вообще - при каждом запросе заново разбирать файл парсерами - не айс :)

mfl
На сайте с 16.10.2006
Offline
134
mfl
#6

а чем не подходят предложенные?

RM
На сайте с 21.06.2011
Offline
77
#7
mfl:
а чем не подходят предложенные?

Ну, это чёто не то... Может есть более универсальные решения...

mfl
На сайте с 16.10.2006
Offline
134
mfl
#8

не понимаю какая универсальность нужна, и чем это хуже по сравнению с

С массивами понятно там var_export + file_put_contents

но Вам виднее. Наверное, есть какие то нюансы.

n0name
На сайте с 22.12.2006
Offline
54
#9

Так никто не делает, поэтому красивого решения нет :)

Константы вы никак не сохраните. Вам все равно придётся их сначала в массив преобразовать.

Ещё один из вариантов:

Сохраняете значения новых и старых констант в массив (get_defined_constants(true)). Сериализуете его и сохраняете в файл. При загрузке приложения загружаете этот массив обратно и объявляете все константы.

Сервис сравнения цена на VPS (http://vpska.com/)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий