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

  • 写回答

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(...);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?