By longwave on
Change record status:
Published (View all published change records)
Project:
Introduced in branch:
10.2.x
Introduced in version:
10.2.0
Issue links:
Description:
Services that implement EventSubscriberInterface no longer need to be individually tagged. Specifying autoconfigure: true in the _defaults section of a module's services.yml is enough to get all services implementing the interface to be automatically registered as event subscribers.
Example
Before:
services:
response_generator_subscriber:
class: Drupal\Core\EventSubscriber\ResponseGeneratorSubscriber
tags:
- { name: event_subscriber }
redirect_response_subscriber:
class: Drupal\Core\EventSubscriber\RedirectResponseSubscriber
arguments: ['@unrouted_url_assembler', '@router.request_context']
tags:
- { name: event_subscriber }
redirect_leading_slashes_subscriber:
class: Drupal\Core\EventSubscriber\RedirectLeadingSlashesSubscriber
tags:
- { name: event_subscriber }
request_close_subscriber:
class: Drupal\Core\EventSubscriber\RequestCloseSubscriber
tags:
- { name: event_subscriber }
After:
services:
_defaults:
autoconfigure: true
response_generator_subscriber:
class: Drupal\Core\EventSubscriber\ResponseGeneratorSubscriber
redirect_response_subscriber:
class: Drupal\Core\EventSubscriber\RedirectResponseSubscriber
arguments: ['@unrouted_url_assembler', '@router.request_context']
redirect_leading_slashes_subscriber:
class: Drupal\Core\EventSubscriber\RedirectLeadingSlashesSubscriber
request_close_subscriber:
class: Drupal\Core\EventSubscriber\RequestCloseSubscriber
Impacts:
Module developers