FOSUserBundle のユーザー確認を有効にしました。しかし、元のリスナーからの応答は取りたくありません
$url = $this->router->generate('fos_user_registration_check_email');
$event->setResponse(new RedirectResponse($url));
別の道を選びたい。EventListener を拡張してみました
namespace Acme\MyBundle\EventListener;
use FOS\UserBundle\EventListener\EmailConfirmationListener as BaseListener;
// ...
class EmailConfirmationListener extends BaseListener
{
public function onRegistrationSuccess(FormEvent $event)
{
$url = $this->router->generate('fos_user_registration_check_email');
$event->setResponse(new RedirectResponse($url));
}
}
残念ながら、コントローラーやフォームと同様に、EventListeners は拡張可能ではないようです。(念のため: もちろん、私のバンドルは FOSUserBundle の子です。)
そのため、vendor フォルダーでこれらの 2 行を直接編集することは避けたいと思います (そうするのは非常に悪い習慣です!)。では、この災難から抜け出す方法は何ですか?