Предложение по изменению php или общего кода на стороне сервера через веб-консоль - PullRequest
1 голос
/ 09 ноября 2009

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

$config['param_name'] = 'param_value';
$config['param_name2'] = 'param_value2';

Сейчас я пишу приложение администратора, которое хочу использовать для управления основным приложением. Одна из вещей, которые я хочу, чтобы приложение администратора было в состоянии сделать, это изменить значения конфигурации. Так что мой вариант использования будет что-то вроде изменения значения через элемент формы html, и он должен изменить config.php, заменив значение соответствующего индекса массива.

Это явно не относится к php; но я хотел бы услышать некоторые идеи о том, как можно было бы отредактировать этот файл. Есть идеи?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 09 ноября 2009

У меня есть еще одно предложение: параметры конфигурации должны находиться в базе данных. Вместо этого пусть ваша консоль администратора будет работать с базой данных.

Если вас беспокоит производительность, используйте APC для кэширования параметров.

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

0 голосов
/ 10 ноября 2009

Другой вариант - изменить файл конфигурации PHP, чтобы он считывал свою информацию из легкодоступного формата, например YAML .

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

0 голосов
/ 09 ноября 2009

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

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