2

Silex を使用していますが、フラッシュ セッション変数に連想配列を使用できるかどうか疑問に思っています。私はそれを機能させることができないようです。

これが私が試してきたことです:

アプリファイルにフラッシュ変数を設定します。

$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

setFlashまたgetFlash、非推奨のメソッドであるため、避ける必要があります。

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 に答える