显示没有重定向的Flash消息(例如,向前).消息显示两次

Jie*_*eng 7 php session symfony

是否可以在没有重定向的情况下在Symfony 2中显示Flash消息?或者在google群组中编辑另一个可能解决方案中的核心文件?

//Symfony\Component\HttpFoundation\Session 
public function setFlash($name, $value, $persist = true) 
{ 
    if (false === $this->started) { 
        $this->start(); 
    } 
    $this->flashes[$name] = $value; 
    if($persist) { 
        unset($this->oldFlashes[$name]); 
    } 
    else { 
        $this->oldFlashes[$name] = $value; 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

UPDATE

哦,实际上我注意到,如果我只是使用了前进的flash消息将会显示,但它仍然会在下一个请求中显示

Flo*_*ian 7

如果您不希望它们在下次请求之前持续存在,为什么要使用闪存?

您难道不能找到其他方式来显示模板参数等反馈吗?

如果没有,您可以在模板中添加它(根据您显示的闪烁如下):

{% if app.session.hasFlash('notice') %}
<div class="flash-notice">
    {{ app.session.flash('notice') }}
    {{ app.session.removeFlash('notice') }}
</div>
{% endif %}
Run Code Online (Sandbox Code Playgroud)

因此,在重定向之前显示这些闪烁的任何模板都会在返回响应之前将它们从会话中删除.我认为这是最后一个更好的解决方案.