在symfony 2中调用twigswiftmailer内部防护身份验证器

在symfony 2中调用twigswiftmailer内部防护身份验证器,twig,guard,symfony-2.8,Twig,Guard,Symfony 2.8,我使用guard作为我的自定义验证器,我需要在验证器内发送一封电子邮件,使用我注入的服务fos_user.mailer,其中包含参数,因为它呈现了它需要发送的消息,现在的问题是,我收到一个错误“检测到服务的循环引用…”这表示我的验证器调用了mailer,mailer调用了细枝,细枝再次调用了授权检查器(我的验证器),导致了一个无休止的循环, 您对此有什么解决方案吗?快速而肮脏的解决方法是将容器注入验证器,并在需要时获得邮件服务。它是肮脏的,因为它隐藏了您的依赖关系 但是为什么您需要在验证器中发送

我使用guard作为我的自定义验证器,我需要在验证器内发送一封电子邮件,使用我注入的服务fos_user.mailer,其中包含参数,因为它呈现了它需要发送的消息,现在的问题是,我收到一个错误“检测到服务的循环引用…”这表示我的验证器调用了mailer,mailer调用了细枝,细枝再次调用了授权检查器(我的验证器),导致了一个无休止的循环,
您对此有什么解决方案吗?

快速而肮脏的解决方法是将容器注入验证器,并在需要时获得邮件服务。它是肮脏的,因为它隐藏了您的依赖关系

但是为什么您需要在验证器中发送电子邮件?您能否改用symfony的身份验证相关事件之一?(参见和类)。如果这还不够,您还可以创建自己的事件,并在负责发送邮件的其他服务中收听