Глобальное состояние PHP через сценарии, не покидая язык? - PullRequest
0 голосов
/ 05 ноября 2011

Следующий псевдокод не работает так, как я ожидаю, и я смотрю, есть ли собственное решение.

config.php
...
$g_current_survey = '';
...
~EOF

admin.php
require_once('config.php');
...
if isset $_POST['survey_name']
$g_current_survey = $_POST['survey_name'];

echo "current survey is " . $g_current_survey;
~form for entering survey_name
~EOF

Мой вопрос заключается в том, что после того, как пользователь отправит форму, значениеперезаписывается (в случае = ''; или сбрасывается, если переменной не было присвоено значение в объявлении) при обновлении следующей страницы, и любой другой скрипт, импортирующий config.php, не увидит изменения.Как мне установить это, не переходя на mysql или плоский файл?

Не упоминайте сессии, потому что это изменение не обязательно должно быть уникальным для каждого пользователя, оно должно быть в стороне.т. е. любой новый пользователь, который присоединится, будет связан с текущим опросом.

Спасибо.

1 Ответ

1 голос
/ 05 ноября 2011

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

Ваши типичные варианты:

  1. Сохраните конфигурацию в файле application.ini и используйте инструмент, подобный Zend_Config_Ini , чтобы программно читать и записывать изменения в вашей конфигурации (или использовать пользовательский формат, если хотите).
  2. Сохраните вашу конфигурацию в таблице конфигурации в MySQL
  3. Сохраните вашу конфигурацию в конфигурационном ключе в Memcache
...