В моем случае с Symfony 4.2 это зависит от определения службы, если это происходит или нет.
Мой подписчик регистрируется дважды, если я определяю службу следующим образом:
# oauth process listener
app.subscriber.oauth:
class: App\EventListenerSubscriber\OauthSubscriber
arguments: ['@session', '@router', '@security.token_storage', '@event_dispatcher', '@app.entity_manager.user', '@app.fos_user.mailer.twig_swift']
tags:
- { name: kernel.event_subscriber }
Нооно регистрируется только один раз, если я изменяю определение следующим образом:
# oauth process listener
App\EventListenerSubscriber\OauthSubscriber:
arguments: ['@session', '@router', '@security.token_storage', '@event_dispatcher', '@app.entity_manager.user', '@app.fos_user.mailer.twig_swift']
tags:
- { name: kernel.event_subscriber }
Я опубликовал отчет об ошибке на github и сразу получил ответ, что в более новых версиях Symfony слушатели событий и подписчики автоматически регистрируются в своем классе.имя в качестве ключа (при некоторых условиях по умолчанию - необходимо прочитать по этой теме).Поэтому нет необходимости регистрировать их явно как услуги.В любом случае, мы делаем это, но используя произвольный ключ вместо имени класса, будет две службы.