Я пишу приложение PHP, которое будет иметь возможность редактировать настройки через веб-интерфейс. Я не имел в виду, что пользователь (и на самом деле это будут только администраторы) может загрузить файл в текстовом редакторе, а скорее, он вносит изменения, используя форму, и это изменит файл настроек (а также выполнит другие действия).
На данном этапе разработки настройки хранятся в файле PHP, например:
define ('UPLOAD_DIR','uploads/'); define ('DISPLAY_NUM',true); $names = array('a' => 'b','c'=>'d','e'=>'f');
Однако синтаксический анализ массивов (а они становятся более сложными (т.е. многоуровневыми вложенными), чем выше) не кажется таким уж увлекательным. А поскольку определенные настройки можно добавлять и удалять, чтение всего файла, а затем повторная запись всех настроек тоже не кажется интересным.
Каковы преимущества и недостатки использования следующих форматов? (И любые другие, которые я пропустил):
- Пользовательский XML
- INI (можно использовать parse_ini_file)
(Использование базы данных не подходит из-за требований к проекту. Я понимаю, что во многих ситуациях база данных предпочтительнее, но не в этом случае.)
Если бы вы не могли использовать базу данных и вам нужно было бы хранить настройки, которые можно было бы редактировать с помощью веб-интерфейса, что бы вы сделали?
(Примечание: это вопрос, отличный от этот, настройки которого изменить нельзя, это PHP-файл полностью. И да, программа установки в настоящее время записывает PHP-файл с правильными настройками.)