Хранение глобальных настроек, настраиваемых со страницы администратора в PHP - PullRequest
1 голос
/ 14 августа 2011

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

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

Изучая, как популярное программное обеспечение форума сохраняло настройки, они использовали таблицу MySQL со строками id , name и значение . Имя - имя опции, а значение - выбранное значение.Я не смотрел на то, как это было получено в самом коде, и проверялось ли это при каждом запуске файла common / header.Мне показалось, что наличие запроса MySQL на каждой странице для редко меняющихся настроек не будет очень эффективным.

Еще одна вещь, которую я рассмотрел, - это наличие текстового файла, в котором просто хранятся параметры в JSON.

Дайте мне знать, сработает ли одна из этих идей или есть что-то более идеальное.Я открыт для всего.

Ответы [ 2 ]

1 голос
/ 14 августа 2011

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

Самый эффективный подход - это файл данных. Вместо json_encode вы также можете использовать serialize или сгенерировать действительный скрипт .php с помощью:

file_put_contents("config.php",
     '<?php $config = ' . var_export($config_array, 1) . '; ?>');

Усилия для простого пользовательского интерфейса администратора также невелики, если вам нужно всего лишь несколько настроек.

Для решения проблемы избыточного количества см. http://milki.include -once.org / genericplugins / genconfig.html

0 голосов
/ 14 августа 2011

Я видел php-сайт, который хранит общие переменные настройки в php-файле. И затем для других php-файлов вам требуется_once ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...