- [setContainer, ['@service_container']]
cache.backend.database:
class: Drupal\Core\Cache\DatabaseBackendFactory
- arguments: ['@database', '@cache_tags.invalidator.checksum']
+ arguments: ['@database', '@cache_tags.invalidator.checksum', '@settings']
cache.backend.apcu:
class: Drupal\Core\Cache\ApcuBackendFactory
arguments: ['@app.root', '@site.path', '@cache_tags.invalidator.checksum']
- { name: backend_overridable }
# @deprecated in Drupal 8.0.x and will be removed before 9.0.0. Use
# config.storage.sync instead.
+ # @see https://www.drupal.org/node/2574957
config.storage.staging:
class: Drupal\Core\Config\FileStorage
factory: Drupal\Core\Config\FileStorageFactory::getSync
arguments: ['@config.storage', 'config/schema', '', true, '%install_profile%']
config.typed:
class: Drupal\Core\Config\TypedConfigManager
- arguments: ['@config.storage', '@config.storage.schema', '@cache.discovery', '@module_handler']
+ arguments: ['@config.storage', '@config.storage.schema', '@cache.discovery', '@module_handler', '@class_resolver']
tags:
- { name: plugin_manager_cache_clear }
+ calls:
+ - [setValidationConstraintManager, ['@validation.constraint']]
context.handler:
class: Drupal\Core\Plugin\Context\ContextHandler
arguments: ['@typed_data_manager']
arguments: ['@app.root', '@module_handler', '@cache.discovery']
theme.negotiator:
class: Drupal\Core\Theme\ThemeNegotiator
- arguments: ['@access_check.theme']
+ arguments: ['@access_check.theme', '@class_resolver']
tags:
- - { name: service_collector, tag: theme_negotiator, call: addNegotiator }
+ - { name: service_id_collector, tag: theme_negotiator }
theme.negotiator.default:
class: Drupal\Core\Theme\DefaultNegotiator
arguments: ['@config.factory']
router.route_provider.lazy_builder:
class: Drupal\Core\Routing\RouteProviderLazyBuilder
arguments: ['@router.route_provider', '@router.builder']
+ tags:
+ - { name: event_subscriber }
router.route_preloader:
class: Drupal\Core\Routing\RoutePreloader
arguments: ['@router.route_provider', '@state', '@cache.bootstrap']
arguments: ['@class_resolver', '@current_route_match', '%main_content_renderers%']
tags:
- { name: event_subscriber }
- accept_negotiation_406:
- class: Drupal\Core\EventSubscriber\AcceptNegotiation406
+ renderer_non_html:
+ class: Drupal\Core\EventSubscriber\RenderArrayNonHtmlSubscriber
tags:
- { name: event_subscriber }
main_content_renderer.html:
class: Drupal\Core\Access\CsrfRequestHeaderAccessCheck
arguments: ['@session_configuration', '@csrf_token']
tags:
- - { name: access_check }
+ - { name: access_check, needs_incoming_request: TRUE }
maintenance_mode:
class: Drupal\Core\Site\MaintenanceMode
arguments: ['@state', '@current_user']
tags:
- { name: event_subscriber }
arguments: ['@http_kernel', '@logger.channel.php', '@redirect.destination', '@router.no_access_checks']
- exception.default:
- class: Drupal\Core\EventSubscriber\DefaultExceptionSubscriber
+ exception.final:
+ class: Drupal\Core\EventSubscriber\FinalExceptionSubscriber
tags:
- { name: event_subscriber }
arguments: ['@config.factory']