【问题标题】:symfony2 can't setFlash messagesymfony2 无法设置Flash message
【发布时间】:2013-03-15 20:10:53
【问题描述】:

我无法在我的普通控制器中执行此操作:

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

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

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

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

【问题讨论】:

  • 这只是新的 API。这里没有问题。
  • 对不起,你是什么意思?
  • 设置flash消息的正确方法是您粘贴的第二段代码。类似于 2.0 中的第一种方式,但他们已经弃用了该 API
  • 这个post 应该可以帮助解决这个问题。

标签: php session symfony


【解决方案1】:

在 Symfony 2.0 中,API 使用$this->setFlash,就像您在第一个代码 sn-p 中一样。根据here 和相关链接问题的讨论,我们认为这个键/值对不是一个好主意。

解决方案体现在您在第二个代码 sn-p 中提到的新 API $this->get('session')->getFlashBag() 中。新的 API 允许更大的灵活性。请参阅upgrade notes

【讨论】:

    【解决方案2】:

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

    请检查专利类别。

    【讨论】:

      猜你喜欢
      • 2013-07-25
      • 1970-01-01
      • 2022-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多