【发布时间】:2015-08-26 04:44:50
【问题描述】:
我正在尝试使用自定义事件侦听器连接到 Friends of Symfony User Bundle 事件。有许多为 FOS 用户包创建事件侦听器的示例,我在创建侦听器、接收事件和执行我的自定义代码方面都没有遇到任何问题。我正在监听 FOSUserEvents::REGISTRATION_CONFIRMED 事件并发送一些关于新确认用户的通知电子邮件。
但我的方法存在一个问题。即:
如果没有我的事件监听器,用户会在访问确认页面后登录并重定向到他们的个人资料页面。但是,我的事件侦听器的存在停止了正常的事件传播,并且用户没有登录或重定向离开确认页面。
这是预期的行为吗?我在文档中看到了相互矛盾的信息。
FOS 用户捆绑文档在这一点上模棱两可。尽管它们似乎从代码示例 here 中暗示自定义事件停止正常传播,或者至少替换给定事件的正常操作。
虽然 Symfony 事件文档 here 描述了用于阻止事件传播的 stopPropagation 函数,但仅在必要时。
那么 User Bundle 自定义事件侦听器会阻止传播到内置的正常事件吗?如果是的话,这周围还有吗?所以不需要修改请求或响应的自定义代码可以简单的监听事件,不会影响User Bundle自带的正常动作。
【问题讨论】:
标签: symfony fosuserbundle