0

通常のコントローラーではこれを行うことはできません:

$this->setFlash('settings_successfully_uploaded', 'settings.upload.successfully'); 

私はこのようにそれを行うための解決策をグーグルで検索しました:

$this->get('session')->getFlashBag()->add('add_remove_friend', $flashMessageText);

しかし、Flash を直接設定できない理由を知りたいですか? 特別なものは何もないように見える私の別のコントローラーでは、そこで使用することができるので、直接それを行うことができます...だから..何が問題なのですか? そして、2 番目のコントローラーはオーバーライドされますFOSProfileController

4

2 に答える 2

1

Symfony 2.0では、$this->setFlash最初のコードスニペットと同じように、APIはを使用していました。ここでの議論と関連する関連する問題により、このキーと値のペアは良い考えではないと判断されました。

$this->get('session')->getFlashBag()このソリューションは、2番目のコードスニペットで言及した新しいAPIに現れました。新しいAPIにより、柔軟性が向上します。アップグレードノートを参照してください。

于 2013-03-19T20:20:55.723 に答える
0

2 番目のコントローラーが FOSProfileController でオーバーライドされていることは確かですか? 延長しない?$this->setFlash() の呼び出し中に親メソッドを呼び出していると思います。他の FOS バンドルでは、setFlash() メソッドの実装を見ました。

特許クラスをご確認ください。

于 2013-03-15T20:37:40.510 に答える