Ответ 1
Просто переопределите службу fos_user.listener.email_confirmation
, создав службу с тем же именем в config.yml
...
# app/config/config.yml
services:
fos_user.listener.email_confirmation:
class: "Acme\MyBundle\EventListener\EmailConfirmationListener"
arguments: ["@fos_user.mailer", "@fos_user.util.token_generator", "@router", "@session"]
tags:
- { name: kernel.event_subscriber }
... или даже более чистое - создайте параметр, используемый вашей службой:
parameters:
my.funky_parameter.class: "Acme\MyBundle\EventListener\EmailConfirmationListener"
services:
fos_user.listener.email_confirmation:
class: "%my.funky_parameter.class%"
# ...
... или внутри вашего конфигурационного файла xml/yml/php пакета, загруженного расширением пакета. Убедитесь, что ваш пакет регистрируется после FOSUserBundle в AppKernel.php
при выборе этого способа.
... или лучший метод:
измените имя исходного класса сервиса в проходе компилятора, как предлагает глава документации Как переопределить любую часть пакета.
Возможно, перед тем, как выбрать эту опцию, сделайте погружение в раздел Как работать с проходами компилятора.