我尝试使用EventListener在注册后实现重定向,但我不知道如何以corectly方式触发它。我有这个错误
Type error: Argument 1 passed to
UserBundle\EventListener\RegistrationConfirmListener::onRegistrationConfirm()
must be an instance of UserBundle\EventListener\GetResponseEvent,
instance of Symfony\Component\EventDispatcher\Event given
这是我的RegistrationConfirmListener::onRegistrationConfirm()
方法:
public function onRegistrationConfirm(GetResponseEvent $event)
{
$url = $this->router->generate('standard_user_registration_success');
$response = new RedirectResponse($url);
$event->setResponse($response);
}
以下是service.yml文件中我的服务声明:
rs_user.registration_complet:
class: UserBundle\EventListener\RegistrationConfirmListener
arguments: [@router]
tags:
- { name: 'kernel.event_subscriber', event: 'fos_user.registration.completed'}
以下是我的控制器中的 - >调度方法:
$dispatcher = $this->get('event_dispatcher');
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED);
我不明白我如何或在哪里可以将其他参数传递给我的活动,以及它将如何实际重定向我的用户...我实际上不确定它是否会起作用。