2016-11-18 40 views
-1

使用類型錯誤時,閃光燈袋爲了獲取會話的閃光燈袋,並添加一個提示信息,在控制器I撥打:的Symfony:在控制器

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

(其中$request是一個實例的Request

,但我得到以下IDE類型的錯誤:

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

回答

1

的問題是$request->getSession()返回SessionInterface,其中不包含getFlashBag方法。

這就是爲什麼IDE抱怨,即使該方法返回的實際對象是Session類的實例,該類具有getFlashBag方法。

控制器內的情況下,一個快速解決方案可以只是使用:的

$this->addFlash(...);

代替:

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