PHP全局状态跨脚本而不离开语言?

时间:2011-11-05 03:15:43

标签: php global-variables

以下伪代码不能按我预期的方式工作,我希望看看是否有本机解决方案。

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 个答案:

答案 0 :(得分:1)

您需要能够在脚本之间保持此更改,并且由于 PHP缺少应用程序范围,您需要使用外部工具。

您的典型选择是:

  1. 将配置存储在application.ini文件中,并使用Zend_Config_Ini之类的工具以编程方式读取和写入对配置的更改(或者,如果您愿意,可以使用自定义格式)。
  2. 将您的配置存储在MySQL的配置表中
  3. 将配置存储在Memcache
  4. 中的配置键中