2

我正在使用 Silex,我想知道是否可以将关联数组用于闪存会话变量?我似乎无法让它工作。

这是我一直在尝试的:

在我的应用程序文件中设置 flash var。

$my_array = array('fruit' => 'apple', 'veggie' => 'carrot');
$app['session']->setFlash('myFlashVar', $my_array);

并像这样在 Twig 中使用。

{% set myVar = app.session.getFlash('myFlashVar') %}
// And so that we don't get an error, check to see if the key exists
{% if 'fruit' in myVar|keys  %}{{ myVar['fruit'] }}{% endif %}

提前感谢您提供的任何帮助。

4

1 回答 1

3

setFlashgetFlash不推荐使用的方法,因此应该避免。

您可以使用 Session::getFlashBag 提供的常用方法来运行您的代码(双关语?)

PHP:

$my_array = array('fruit' => 'apple', 'veggie' => 'carrot');
$app['session']->getFlashBag()->set('myFlashVar', $my_array);

枝条:

{% for flashMessage in app.session.flashbag.get('myFlashVar') %}

    {{ flashMessage }}

{% endfor %}

免责声明:我只使用 Symfony2 (2.16) 框架进行了测试,而不是 Silex。在 Symfony2 中是:

$this->get('session')->getFlashBag()->set('myFlashVar', $my_array);
于 2012-12-28T22:47:10.793 回答