我正在使用 FlashMessenger 助手来设置消息,但无法使用 getMessages() 方法检索消息。它返回 null。这是我的示例代码:
<?php
class Admin_TestController extends Zend_Controller_Action
{
protected $_flashMessenger = null;
public function init()
{
$this->_flashMessenger = $this->_helper->getHelper('FlashMessenger');
$this->initView();
}
public function myAction()
{
$this->_flashMessenger->addMessage('test message');
$this->_helper->Redirector("mynextrequest");
}
public function mynextrequestAction()
{
zend_debug::dump($this->_flashMessenger->getMessages());
$this->render();
}
}
要解决此问题,您需要编辑library/Zend/Controller/Action/Helper/FlashMessenger.php
找到该行:
self::$_session->{$this->_namespace}[] = $message;
并将其更改为
//self::$_session->{$this->_namespace}[] = $message;
$sessionMessages = self::$_session->{$this->_namespace};
$sessionMessages[] = $message;
self::$_session->{$this->_namespace} = $sessionMessages;
这个问题只影响 php 5.2,因此他们决定不修复它,而是建议升级 PHP 版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)