我在尝试让Zend会话正常工作时遇到了很多麻烦。基本上,我需要做的是在网站加载时设置一次变量。然后,该变量应在会话的整个生命周期内保持不变。
为了使这一点更加清晰,让我们采取以下方案:
在Bootstap.php中,我有
protected function _initSession() {
$session = new Zend_Session_Namespace();
$session->testValue = rand(0, 100);
}
然后,我在应用程序的其他地方访问它,如下所示:
$session = new Zend_Session_Namespace();
echo $session->testValue;
现在我希望$ session-> testValue将被分配一次,并且该值在每个后续页面请求上都是相同的。但实际上,正在发生的事情是$ session-> testValue每次都是一个新的随机数。
我做错了什么?
答案 0 :(得分:2)
每次运行Bootstrap.php时,它都会覆盖testValue属性。只有在尚未设置的情况下才设置它。
protected function _initSession() {
$session = new Zend_Session_Namespace();
if (!isset($session->testValue)) {
$session->testValue = rand(0, 100);
}
}