在Zend Framework中对FlashMessenger消息进行分类

Kev*_*vin 3 zend-framework

使用FlashMessenger帮助程序在Zend Framework中对Flash消息进行分类(警告,成功,错误)的最简单方法是什么?我还想要一种方法来检查控制器可能不一定转发请求的消息.目前,我相信这是通过FlashMessenger :: getCurrentMessage()来完成的?

Poe*_*rin 10

在你的控制器中,你可以这样做:

$this->_helper->FlashMessenger(
    array('error' => 'There was a problem with your form submission.') 
);
$this->_helper->FlashMessenger(
    array('notice' => 'Notice you forgot to input smth.') 
);
Run Code Online (Sandbox Code Playgroud)

在你看来,你可以像这样回应通知:

<?php echo $this->flashMessenger('notice'); ?>
Run Code Online (Sandbox Code Playgroud)

这样的错误:

<?php echo $this->flashMessenger('error'); ?>
Run Code Online (Sandbox Code Playgroud)

编辑:

检查此链接:

...这里调用常规的getMessages()方法是行不通的.这仅返回在实例化FlashMessenger时存储在相应ZendSession名称空间中的消息.由于此时添加此请求的任何消息都不在ZendSession命名空间中(因为FlashMessenger已实例化以添加消息),因此getMessages()不会返回它们.

对于这个用例,FlashMessenger还提供了一个getCurrentMessages()方法(以及当前方法的相关系列),它返回当前请求中设置的消息.