Symfony 4 的事件响应
Event response with Symfony 4
我在 Symfony 4 中使用 FOSUserBundle。
当我们更新用户配置文件时,如果一切正常。这里触发了一个事件。
$this->eventDispatcher->dispatch(FOSUserEvents::PROFILE_EDIT_COMPLETED, new FilterUserResponseEvent($user, $request, $response));
触发此事件时,会从 FlashListenner 调用此方法
public function addSuccessFlash(Event $event, $eventName)
{
if (!isset(self::$successMessages[$eventName])) {
throw new \InvalidArgumentException('This event does not correspond to a known flash message');
}
$this->session->getFlashBag()->add('success', $this->trans(self::$successMessages[$eventName]));
}
但是,我的问题是:我怎样才能捕捉到这个 flashbag 是下一个调用的控制器,以便知道是否有要打印的 flash 消息?
感谢您的帮助。
如果你有同样的问题:有解决方法:
{% for msg in app.session.flashBag.get('success') %}
我在 Symfony 4 中使用 FOSUserBundle。
当我们更新用户配置文件时,如果一切正常。这里触发了一个事件。
$this->eventDispatcher->dispatch(FOSUserEvents::PROFILE_EDIT_COMPLETED, new FilterUserResponseEvent($user, $request, $response));
触发此事件时,会从 FlashListenner 调用此方法
public function addSuccessFlash(Event $event, $eventName)
{
if (!isset(self::$successMessages[$eventName])) {
throw new \InvalidArgumentException('This event does not correspond to a known flash message');
}
$this->session->getFlashBag()->add('success', $this->trans(self::$successMessages[$eventName]));
}
但是,我的问题是:我怎样才能捕捉到这个 flashbag 是下一个调用的控制器,以便知道是否有要打印的 flash 消息? 感谢您的帮助。
如果你有同样的问题:有解决方法:
{% for msg in app.session.flashBag.get('success') %}