我正在使用Silex,我想知道是否可以将关联数组用于flash会话变量?我似乎无法让它发挥作用。
以下是我一直在尝试的内容:
在我的应用文件中设置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 %}
提前感谢您提供的任何帮助。
答案 0 :(得分:3)
setFlash
和getFlash
一种弃用的方法,因此应该避免使用。
您可以使用Session :: getFlashBag提供的偏好方法来运行您的代码(双关语意图?)
PHP:
$my_array = array('fruit' => 'apple', 'veggie' => 'carrot');
$app['session']->getFlashBag()->set('myFlashVar', $my_array);
TWIG:
{% for flashMessage in app.session.flashbag.get('myFlashVar') %}
{{ flashMessage }}
{% endfor %}
免责声明:我只使用Symfony2(2.16)框架测试了这个 - 而不是Silex。在Symfony2中它是:
$this->get('session')->getFlashBag()->set('myFlashVar', $my_array);