dongshungou7699
2016-11-18 15:55
浏览 59
已采纳

Symfony:在控制器中使用闪存包时输入错误

In order to get the flash bag of the session and add a flash message, in the controller I call:

$request->getSession()->getFlashBag()->addFlash(...);

(where $request is an instance of Request)

but I get the following IDE type error:

Method 'getFlashBag' not found in null|\Symfony\Component\HttpFoundation\Session\SessionInterface

图片转代码服务由CSDN问答提供 功能建议

为了获得会话的flash包并添加flash消息,我在控制器中调用:

<代码> $请求 - &GT;的getSession() - &GT; getFlashBag() - &GT; addFlash(...);

(其中 $ request 的一个实例 请求

但是我收到以下IDE类型错误:

在\中找不到方法'getFlashBag' n null | \ Symfony \ Component \ HttpFoundation \ Session \ SessionInterface

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dpt1712 2016-11-18 15:55
    已采纳

    The problem is that $request->getSession() returns a SessionInterface, which does not contain the getFlashBag method.

    That's why the IDE is complaining, even if the actual object returned by that method is an instance of the Session class which has the getFlashBag method.

    When inside a controller, a quick solution can just be using:

    $this->addFlash(...);

    instead of:

    $request->getSession()->getFlashBag()->addFlash(...);

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题