CakePHP:如果设置,如何在控制器中读取flash消息的字符串值?

时间:2012-09-12 18:14:41

标签: session cakephp flash-message

我需要知道这一点,以便我可以根据需要添加消息(闪烁)。

通过这种方式,我可以给用户提供完整的反馈并避免一个闪存被覆盖(在重定向中,例如,最后一个控制器,通常可以这样做)。

我阅读了文档,但我没有找到任何在setFlash()中给出的选项,以便要求这个附加。

我知道有一个Session :: read(),但我不知道要搜索哪个键..

谢谢!

2 个答案:

答案 0 :(得分:1)

您正在寻找的是:

$this->Session->read('Message');

消息是保存当前用户的会话消息的密钥,无论是flash消息还是auth消息。一个简单的公关($ this-> Session-> read())会给你类似的输出:

Array(
    ['Auth'] => array(
        ... your auth keys and values here
    ),
    ['Message'] => array(
        ['flash'] => ... your current flash message array (if any)
        ['auth'] => ... your current auth message array (if any)
    )
)

虽然我不确定你为什么担心。当你这样做

$this->Session->setFlash('your message');
$this->redirect('/');

即使您有重定向,会话消息也会保留并显示在重定向的页面上。您只需要确保输出Flash消息。

答案 1 :(得分:1)

可以使用以下方法检索Flash消息:

$message = $this->Session->read('Message.flash.message');
echo $message;