0

我不能在我的普通控制器中这样做:

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

我用谷歌搜索了这样的解决方案:

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

但是我想知道为什么不能直接setFlash?因为在我的另一个控制器中似乎没有什么特别之处,我在那里使用我可以直接做到这一点......所以..有什么问题?第二个控制器被覆盖FOSProfileController

4

2 回答 2

1

在 Symfony 2.0 中,API 将使用$this->setFlash,就像您在第一个代码片段中所做的那样。根据此处的讨论和相关的链接问题,决定这个键/值对不是一个好主意。

该解决方案体现在$this->get('session')->getFlashBag()您在第二个代码片段中提到的新 API 中。新的 API 允许更大的灵活性。请参阅升级说明

于 2013-03-19T20:20:55.723 回答
0

你确定第二个控制器被覆盖 FOSProfileController 吗?不延长?我想您在调用 $this->setFlash() 期间正在调用父方法。在其他 FOS 包中,我看到了 setFlash() 方法的实现。

请检查专利类别。

于 2013-03-15T20:37:40.510 回答