Хранение конфигурации без MySQL

Я хочу иметь возможность хранить конфигурацию сайта без использования mysql. Я также хочу, чтобы пользователь мог изменить эту информацию с веб-страницы. Каковы наилучшие методы для этого?


person Joshwaa    schedule 12.06.2011    source источник
comment
Извините, что так долго не принимал ответ. Был далеко от моего компьютера.   -  person Joshwaa    schedule 12.06.2011


Ответы (4)


Ценными вариантами являются база данных SQLite или просто файл PHP, содержащий сериализованный массив, если вам нужен действительно простой вариант:

// reading configuration
$config = unserialize(file_get_contents('config'));

// storing configuration
file_put_contents('config', serialize($config));
person BenMorel    schedule 12.06.2011
comment
Я хочу, чтобы этот проект был как можно более плоским, и хорошей идеей является сериализованный массив. - person Joshwaa; 12.06.2011
comment
База данных SQLite — это просто плоский файл, содержащий вашу базу данных, но она также более сложна для такого простого требования! - person BenMorel; 12.06.2011
comment
А, спасибо за информацию. Любые другие способы, которыми вы можете думать об этом? Я вижу много сайтов, делающих редактируемые настройки, но я знаю, что они используют базу данных MySQL. Я пытаюсь сохранить его плоским файлом, потому что в моем проекте есть только одна таблица базы данных, и я хочу ее распространять, и я не хочу распространять огромный файл sql для людей, которые загружают его для импорта в свой MySQL. база данных. - person Joshwaa; 12.06.2011
comment
Если у вас уже есть база данных MySQL для чего-то другого, я бы использовал ее и для хранения конфигурации, если только для этого нет очень веской причины (и я не уверен, что понимаю вашу!) - person BenMorel; 13.06.2011
comment
Я просто не хочу распространять большой файл .sql со своим кодом, наверное, я был придирчив. - person Joshwaa; 14.06.2011

Сохранение файла — самый простой вариант. Вы можете сохранить его в виде обычного текста, XML, JSON и т. д. Возможно, вы захотите попробовать файл ini, который может быть прочитан/записан PHP, и в этом случае этот ответ должен помочь.

person Tak    schedule 12.06.2011

Я бы использовал формат файла .ini для хранения конфигурации. Он удобочитаем в необработанном формате и довольно легко анализируется с помощью PHP (parse_ini_file< /а>). Здесь следует отметить, что PHP (как ни странно) изначально не поддерживает запись в ini-файлы, но если вы посмотрите на страницу руководства для parse_ini_file, вы можете найти представленный пользователем пример того, как это сделать.

Хотя я не использовал в проектах PHP, YAML (еще один язык разметки) кажется хорошим форматом для хранения информации о конфигурации. (это в значительной степени формат конфигурации по умолчанию для проектов rails). Вы можете использовать библиотеку pecl syck, чтобы легко читать и писать данные в формате YAML.

person Jay Sidri    schedule 12.06.2011

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

person glowworms    schedule 12.06.2011