core.services.yml 31.1 KB
Newer Older
1 2 3 4 5 6
services:
  cache_factory:
    class: Drupal\Core\Cache\CacheFactory
    arguments: ['@settings']
    calls:
      - [setContainer, ['@service_container']]
7 8 9 10 11
  cache_contexts:
    class: Drupal\Core\Cache\CacheContexts
    arguments: ['@service_container', '%cache_contexts%' ]
  cache_context.url:
    class: Drupal\Core\Cache\UrlCacheContext
12
    arguments: ['@request_stack']
13 14 15 16 17 18 19 20 21
    tags:
      - { name: cache.context}
  cache_context.language:
    class: Drupal\Core\Cache\LanguageCacheContext
    arguments: ['@language_manager']
    tags:
      - { name: cache.context}
  cache_context.theme:
    class: Drupal\Core\Cache\ThemeCacheContext
22
    arguments: ['@request_stack', '@theme.negotiator']
23 24
    tags:
      - { name: cache.context}
25 26 27
  cache.backend.database:
    class: Drupal\Core\Cache\DatabaseBackendFactory
    arguments: ['@database']
28 29
  cache.backend.apcu:
    class: Drupal\Core\Cache\ApcuBackendFactory
30 31
  cache.backend.php:
    class: Drupal\Core\Cache\PhpBackendFactory
32 33 34 35
  cache.backend.memory:
    class: Drupal\Core\Cache\MemoryBackendFactory
  cache.backend.null:
    class: Drupal\Core\Cache\NullBackendFactory
36 37 38 39 40 41 42
  cache.bootstrap:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [bootstrap]
43
  cache.default:
44 45 46 47 48
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
49
    arguments: [default]
50 51 52 53 54 55 56
  cache.entity:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [entity]
57
  cache.render:
58 59 60 61 62
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
63 64
    arguments: [render]
  cache.data:
65 66 67 68 69
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
70
    arguments: [data]
71 72 73 74 75 76 77
  cache.discovery:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [discovery]
78 79
  config.manager:
    class: Drupal\Core\Config\ConfigManager
80
    arguments: ['@entity.manager', '@config.factory', '@config.typed', '@string_translation', '@config.storage', '@event_dispatcher']
81 82 83
  config.factory:
    class: Drupal\Core\Config\ConfigFactory
    tags:
84
      - { name: event_subscriber }
85
      - { name: service_collector, tag: 'config.factory.override', call: addOverride }
86
    arguments: ['@config.storage', '@event_dispatcher', '@config.typed']
87 88
  config.installer:
    class: Drupal\Core\Config\ConfigInstaller
89
    arguments: ['@config.factory', '@config.storage', '@config.typed', '@config.manager', '@event_dispatcher']
90 91 92 93 94 95 96 97 98
  config.storage:
    alias: config.storage.active
  config.storage.active:
    class: Drupal\Core\Config\DatabaseStorage
    arguments: ['@database', 'config']
  config.storage.file:
    class: Drupal\Core\Config\FileStorage
    factory_class: Drupal\Core\Config\FileStorageFactory
    factory_method: getActive
99 100 101 102 103 104 105 106
  config.storage.staging:
    class: Drupal\Core\Config\FileStorage
    factory_class: Drupal\Core\Config\FileStorageFactory
    factory_method: getStaging
  config.storage.snapshot:
    class: Drupal\Core\Config\DatabaseStorage
    arguments: ['@database', config_snapshot]
  config.storage.schema:
107 108
    class: Drupal\Core\Config\ExtensionInstallStorage
    arguments: ['@config.storage', 'config/schema']
109 110
  config.storage.installer:
    class: Drupal\Core\Config\InstallStorage
111 112
  config.typed:
    class: Drupal\Core\Config\TypedConfigManager
113
    arguments: ['@config.storage', '@config.storage.schema', '@cache.discovery']
114 115
  cron:
    class: Drupal\Core\Cron
116
    arguments: ['@module_handler', '@lock', '@queue', '@state', '@current_user', '@session_manager']
117 118 119 120 121
  database:
    class: Drupal\Core\Database\Connection
    factory_class: Drupal\Core\Database\Database
    factory_method: getConnection
    arguments: [default]
122 123
  form_builder:
    class: Drupal\Core\Form\FormBuilder
124
    arguments: ['@form_validator', '@form_submitter', '@module_handler', '@keyvalue.expirable', '@event_dispatcher', '@request_stack', '@class_resolver', '@?csrf_token', '@?http_kernel']
125 126 127
  form_validator:
    class: Drupal\Core\Form\FormValidator
    arguments: ['@request_stack', '@string_translation', '@csrf_token']
128 129 130
  form_submitter:
    class: Drupal\Core\Form\FormSubmitter
    arguments: ['@request_stack', '@url_generator']
131 132
  keyvalue:
    class: Drupal\Core\KeyValueStore\KeyValueFactory
133
    arguments: ['@service_container', '@settings']
134 135
  keyvalue.database:
    class: Drupal\Core\KeyValueStore\KeyValueDatabaseFactory
136
    arguments: ['@serialization.phpserialize', '@database']
137 138
  keyvalue.expirable:
    class: Drupal\Core\KeyValueStore\KeyValueExpirableFactory
139
    arguments: ['@service_container', '@settings']
140 141
  keyvalue.expirable.database:
    class: Drupal\Core\KeyValueStore\KeyValueDatabaseExpirableFactory
142
    arguments: ['@serialization.phpserialize', '@database']
143 144
    tags:
      - { name: needs_destruction }
145 146 147 148 149 150 151 152 153 154 155 156
  logger.factory:
    class: Drupal\Core\Logger\LoggerChannelFactory
    parent: container.trait
    tags:
      - { name: service_collector, tag: logger, call: addLogger }
  logger.channel.default:
    class: Drupal\Core\Logger\LoggerChannel
    factory_method: get
    factory_service: logger.factory
    arguments: ['system']
  logger.log_message_parser:
    class: Drupal\Core\Logger\LogMessageParser
157 158 159 160 161 162 163 164

  serialization.json:
    class: Drupal\Component\Serialization\Json
  serialization.phpserialize:
    class: Drupal\Component\Serialization\PhpSerialize
  serialization.yaml:
    class: Drupal\Component\Serialization\Yaml

165
  settings:
166 167
    class: Drupal\Core\Site\Settings
    factory_class: Drupal\Core\Site\Settings
168
    factory_method: getInstance
169
  state:
170
    class: Drupal\Core\State\State
171
    arguments: ['@keyvalue']
172 173 174 175 176 177 178 179 180 181 182 183
  queue:
    class: Drupal\Core\Queue\QueueFactory
    arguments: ['@settings']
    calls:
      - [setContainer, ['@service_container']]
  queue.database:
    class: Drupal\Core\Queue\QueueDatabaseFactory
    arguments: ['@database']
  path.alias_whitelist:
    class: Drupal\Core\Path\AliasWhitelist
    tags:
      - { name: needs_destruction }
184
    arguments: [path_alias_whitelist, '@cache.default', '@lock', '@state', '@path.alias_storage']
185 186
  path.alias_manager:
    class: Drupal\Core\Path\AliasManager
187
    arguments: ['@path.alias_storage', '@path.alias_whitelist', '@language_manager', '@cache.data']
188
  http_client:
189
    class: Drupal\Core\Http\Client
190 191
    tags:
      - { name: service_collector, tag: http_client_subscriber, call: attach }
192 193
  theme.negotiator:
    class: Drupal\Core\Theme\ThemeNegotiator
194
    arguments: ['@access_check.theme', '@request_stack']
195 196
    tags:
      - { name: service_collector, tag: theme_negotiator, call: addNegotiator }
197 198 199 200 201 202 203 204 205 206
  theme.negotiator.default:
    class: Drupal\Core\Theme\DefaultNegotiator
    arguments: ['@config.factory']
    tags:
      - { name: theme_negotiator, priority: -100 }
  theme.negotiator.ajax_base_page:
    class: Drupal\Core\Theme\AjaxBasePageNegotiator
    arguments: ['@csrf_token', '@config.factory']
    tags:
      - { name: theme_negotiator, priority: 1000 }
207 208 209 210 211
  container.namespaces:
    class: ArrayObject
    arguments: [ '%container.namespaces%' ]
    tags:
      - { name: persist }
212 213 214 215
  container.trait:
    abstract: true
    calls:
      - [setContainer, ['@service_container']]
216 217
  default_plugin_manager:
    abstract: true
218
    arguments: ['@container.namespaces', '@cache.discovery', '@language_manager', '@module_handler']
219
  module_handler:
220 221
    class: Drupal\Core\Extension\ModuleHandler
    arguments: ['%container.modules%', '@cache.bootstrap']
222 223
  theme_handler:
    class: Drupal\Core\Extension\ThemeHandler
224
    arguments: ['@config.factory', '@module_handler', '@state', '@info_parser', '@config.installer', '@router.builder']
225
  entity.manager:
226
    class: Drupal\Core\Entity\EntityManager
227
    arguments: ['@container.namespaces', '@module_handler', '@cache.discovery', '@language_manager', '@string_translation', '@class_resolver', '@typed_data_manager']
228
    parent: container.trait
229 230
    tags:
      - { name: plugin_manager_cache_clear }
231 232 233
  entity.form_builder:
    class: Drupal\Core\Entity\EntityFormBuilder
    arguments: ['@entity.manager', '@form_builder']
234 235
  plugin.manager.field.field_type:
    class: Drupal\Core\Field\FieldTypePluginManager
236
    arguments: ['@container.namespaces', '@cache.discovery', '@language_manager', '@module_handler']
237 238
  plugin.manager.field.widget:
    class: Drupal\Core\Field\WidgetPluginManager
239
    arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@language_manager', '@plugin.manager.field.field_type']
240 241
  plugin.manager.field.formatter:
    class: Drupal\Core\Field\FormatterPluginManager
242
    arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@language_manager', '@plugin.manager.field.field_type']
243 244
  plugin.manager.archiver:
    class: Drupal\Core\Archiver\ArchiverManager
245
    parent: default_plugin_manager
246 247
  plugin.manager.action:
    class: Drupal\Core\Action\ActionManager
248
    arguments: ['@container.namespaces', '@cache.discovery', '@language_manager', '@module_handler']
249 250
  plugin.manager.menu.local_action:
    class: Drupal\Core\Menu\LocalActionManager
251
    arguments: ['@controller_resolver', '@request_stack', '@router.route_provider', '@module_handler', '@cache.discovery', '@language_manager', '@access_manager', '@current_user']
252 253
  plugin.manager.menu.local_task:
    class: Drupal\Core\Menu\LocalTaskManager
254
    arguments: ['@controller_resolver', '@request_stack', '@router.route_provider', '@router.builder', '@module_handler', '@cache.discovery', '@language_manager', '@access_manager', '@current_user']
255 256
  plugin.manager.menu.contextual_link:
    class: Drupal\Core\Menu\ContextualLinkManager
257
    arguments: ['@controller_resolver', '@module_handler', '@cache.discovery', '@language_manager', '@access_manager', '@current_user', '@request_stack']
258 259
  plugin.cache_clearer:
    class: Drupal\Core\Plugin\CachedDiscoveryClearer
260 261
  request:
    class: Symfony\Component\HttpFoundation\Request
262
    synthetic: true
263
    synchronized: true
264 265
  request_stack:
    class: Symfony\Component\HttpFoundation\RequestStack
266 267
    tags:
      - { name: persist }
268 269 270 271
  event_dispatcher:
    class: Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher
    arguments: ['@service_container']
  controller_resolver:
272
    class: Drupal\Core\Controller\ControllerResolver
273 274 275 276 277
    arguments: ['@class_resolver', '@logger.channel.default']
  class_resolver:
    class: Drupal\Core\DependencyInjection\ClassResolver
    calls:
      - [setContainer, ['@service_container']]
278 279 280
  title_resolver:
    class: Drupal\Core\Controller\TitleResolver
    arguments: ['@controller_resolver', '@string_translation']
281 282
  http_kernel:
    class: Drupal\Core\HttpKernel
283 284
    arguments: ['@event_dispatcher', '@controller_resolver', '@request_stack']
    parent: container.trait
285 286
  language_manager:
    class: Drupal\Core\Language\LanguageManager
287 288 289 290
    arguments: ['@language.default']
  language.default:
    class: Drupal\Core\Language\LanguageDefault
    arguments: ['%language.default_values%']
291 292
  string_translator.custom_strings:
    class: Drupal\Core\StringTranslation\Translator\CustomStrings
293
    arguments: ['@settings']
294 295 296 297
    tags:
      - { name: string_translator, priority: 30 }
  string_translation:
    class: Drupal\Core\StringTranslation\TranslationManager
298 299 300
    arguments: ['@language_manager']
    calls:
      - [initLanguageManager]
301 302
    tags:
      - { name: service_collector, tag: string_translator, call: addTranslator }
303 304 305 306 307
  database.slave:
    class: Drupal\Core\Database\Connection
    factory_class: Drupal\Core\Database\Database
    factory_method: getConnection
    arguments: [slave]
308
  typed_data_manager:
309
    class: Drupal\Core\TypedData\TypedDataManager
310
    parent: default_plugin_manager
311 312
    calls:
      - [setValidationConstraintManager, ['@validation.constraint']]
313 314
    tags:
      - { name: plugin_manager_cache_clear }
315 316
  validation.constraint:
    class: Drupal\Core\Validation\ConstraintManager
317
    parent: default_plugin_manager
318 319
  lock:
    class: Drupal\Core\Lock\DatabaseLockBackend
320
    arguments: ['@database']
321 322
  router.request_context:
    class: Symfony\Component\Routing\RequestContext
323 324
    tags:
      - { name: persist }
325 326
  router.admin_context:
    class: Drupal\Core\Routing\AdminContext
327
    arguments: ['@request_stack']
328 329
  router.route_provider:
    class: Drupal\Core\Routing\RouteProvider
330
    arguments: ['@database', '@router.builder', '@state']
331 332
    tags:
      - { name: event_subscriber }
333 334 335 336 337
  router.route_preloader:
    class: Drupal\Core\Routing\RoutePreloader
    arguments: ['@router.route_provider', '@state', '@content_negotiation']
    tags:
      - { name: 'event_subscriber' }
338 339 340 341 342 343 344
  router.matcher.final_matcher:
    class: Drupal\Core\Routing\UrlMatcher
  router.matcher:
    class: Symfony\Cmf\Component\Routing\NestedMatcher\NestedMatcher
    arguments: ['@router.route_provider']
    calls:
      - [setFinalMatcher, ['@router.matcher.final_matcher']]
345 346
    tags:
      - { name: service_collector, tag: route_filter, call: addRouteFilter }
347
  url_generator:
348
    class: Drupal\Core\Routing\UrlGenerator
349
    arguments: ['@router.route_provider', '@path_processor_manager', '@route_processor_manager', '@config.factory', '@settings', '@logger.channel.default']
350 351
    calls:
      - [setRequest, ['@?request']]
352
      - [setContext, ['@?router.request_context']]
353 354
  link_generator:
    class: Drupal\Core\Utility\LinkGenerator
355
    arguments: ['@url_generator', '@module_handler']
356 357
  router.dynamic:
    class: Symfony\Cmf\Component\Routing\DynamicRouter
358
    arguments: ['@router.request_context', '@router.matcher', '@url_generator']
359 360
    tags:
      - { name: service_collector, tag: route_enhancer, call: addRouteEnhancer }
361 362 363 364 365
  router:
    class: Symfony\Cmf\Component\Routing\ChainRouter
    calls:
      - [setContext, ['@router.request_context']]
      - [add, ['@router.dynamic']]
366 367 368 369 370
  router.path_roots_subscriber:
    class: Drupal\Core\EventSubscriber\PathRootsSubscriber
    arguments: ['@state']
    tags:
      - { name: event_subscriber }
371 372
  entity.query:
    class: Drupal\Core\Entity\Query\QueryFactory
373
    arguments: ['@entity.manager']
374 375 376 377
    calls:
      - [setContainer, ['@service_container']]
  entity.query.config:
    class: Drupal\Core\Config\Entity\Query\QueryFactory
378
    arguments: ['@config.storage', '@config.factory']
379 380 381
  entity.query.sql:
    class: Drupal\Core\Entity\Query\Sql\QueryFactory
    arguments: ['@database']
382 383 384
  entity.query.keyvalue:
    class: Drupal\Core\Entity\KeyValueStore\Query\QueryFactory
    arguments: ['@keyvalue']
385 386
  router.dumper:
    class: Drupal\Core\Routing\MatcherDumper
387
    arguments: ['@database', '@state']
388 389
  router.builder:
    class: Drupal\Core\Routing\RouteBuilder
390 391 392
    arguments: ['@router.dumper', '@lock', '@event_dispatcher', '@module_handler', '@controller_resolver', '@state']
  router.rebuild_subscriber:
    class: Drupal\Core\EventSubscriber\RouterRebuildSubscriber
393
    arguments: ['@router.builder', '@lock']
394 395
    tags:
      - { name: event_subscriber }
396 397
  path.alias_storage:
    class: Drupal\Core\Path\AliasStorage
398
    arguments: ['@database', '@module_handler']
399 400 401 402 403 404 405 406 407
# The argument to the hashing service defined in services.yml, to the
# constructor of PhpassHashedPassword is the log2 number of iterations for
# password stretching.
# @todo increase by 1 every Drupal version in order to counteract increases in
# the speed and power of computers available to crack the hashes. The current
# password hashing method was introduced in Drupal 7 with a log2 count of 15.
  password:
    class: Drupal\Core\Password\PhpassHashedPassword
    arguments: [16]
408 409 410 411 412 413 414
  accept_header_matcher:
    class: Drupal\Core\Routing\AcceptHeaderMatcher
    arguments: ['@content_negotiation']
    tags:
      - { name: route_filter }
  content_type_header_matcher:
    class: Drupal\Core\Routing\ContentTypeHeaderMatcher
415 416 417 418
    tags:
      - { name: route_filter }
  paramconverter_manager:
    class: Drupal\Core\ParamConverter\ParamConverterManager
419 420 421 422 423 424 425
    calls:
      - [setContainer, ['@service_container']]
  paramconverter_subscriber:
    class: Drupal\Core\EventSubscriber\ParamConverterSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@paramconverter_manager']
426 427 428 429
  paramconverter.entity:
    class: Drupal\Core\ParamConverter\EntityConverter
    tags:
      - { name: paramconverter }
430
    arguments: ['@entity.manager']
431 432 433 434 435 436
  paramconverter.configentity_admin:
    class: Drupal\Core\ParamConverter\AdminPathConfigEntityConverter
    tags:
      # Use a higher priority than EntityConverter, see the class for details.
      - { name: paramconverter, priority: 5 }
    arguments: ['@entity.manager', '@config.factory', '@router.admin_context']
437 438 439 440 441
  route_subscriber.module:
    class: Drupal\Core\EventSubscriber\ModuleRouteSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@module_handler']
442 443 444 445
  route_subscriber.entity:
    class: Drupal\Core\EventSubscriber\EntityRouteAlterSubscriber
    tags:
      - { name: event_subscriber }
446
    arguments: ['@entity.manager']
447 448 449 450 451
  reverse_proxy_subscriber:
    class: Drupal\Core\EventSubscriber\ReverseProxySubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@settings']
452 453 454 455
  ajax_response_subscriber:
    class: Drupal\Core\EventSubscriber\AjaxResponseSubscriber
    tags:
      - { name: event_subscriber }
456 457 458 459 460 461
  route_enhancer.param_conversion:
    class: Drupal\Core\Routing\Enhancer\ParamConversionEnhancer
    arguments: ['@paramconverter_manager']
    tags:
      - { name: route_enhancer }
      - { name: event_subscriber }
462 463 464 465
  route_enhancer.authentication:
    class: Drupal\Core\Routing\Enhancer\AuthenticationEnhancer
    tags:
      - { name: route_enhancer, priority: 1000 }
466
    arguments: ['@authentication', '@current_user']
467 468
  route_enhancer.entity:
    class: Drupal\Core\Entity\Enhancer\EntityRouteEnhancer
469
    arguments: ['@controller_resolver', '@entity.manager', '@form_builder']
470
    tags:
471
      - { name: route_enhancer, priority: 20 }
472 473 474 475 476 477 478
  route_content_controller_subscriber:
    class: Drupal\Core\EventSubscriber\ContentControllerSubscriber
    arguments: ['@content_negotiation']
    tags:
      - { name: event_subscriber }
  route_content_form_controller_subscriber:
    class: Drupal\Core\EventSubscriber\ContentFormControllerSubscriber
479
    arguments: ['@class_resolver', '@controller_resolver', '@form_builder']
480
    parent: container.trait
481
    tags:
482
      - { name: event_subscriber }
483 484 485 486
  route_special_attributes_subscriber:
    class: Drupal\Core\EventSubscriber\SpecialAttributesRouteSubscriber
    tags:
      - { name: event_subscriber }
487 488 489 490
  route_http_method_subscriber:
    class: Drupal\Core\EventSubscriber\RouteMethodSubscriber
    tags:
      - { name: event_subscriber }
491 492
  controller.page:
    class: Drupal\Core\Controller\HtmlPageController
493
    arguments: ['@controller_resolver', '@title_resolver', '@url_generator']
494 495
  controller.ajax:
    class: Drupal\Core\Controller\AjaxController
496
    arguments: ['@controller_resolver', '@ajax_response_renderer']
497 498
  controller.entityform:
    class: Drupal\Core\Entity\HtmlEntityFormController
499
    arguments: ['@class_resolver', '@controller_resolver', '@service_container', '@entity.manager']
500 501
  controller.dialog:
    class: Drupal\Core\Controller\DialogController
502
    arguments: ['@controller_resolver', '@title_resolver']
503 504
  ajax_response_renderer:
    class: Drupal\Core\Ajax\AjaxResponseRenderer
505 506 507 508
  router_listener:
    class: Symfony\Component\HttpKernel\EventListener\RouterListener
    tags:
      - { name: event_subscriber }
509
    arguments: ['@router', '@router.request_context', NULL, '@request_stack']
510 511 512 513 514 515
  content_negotiation:
    class: Drupal\Core\ContentNegotiation
  view_subscriber:
    class: Drupal\Core\EventSubscriber\ViewSubscriber
    tags:
      - { name: event_subscriber }
516
    arguments: ['@content_negotiation', '@title_resolver', '@ajax_response_renderer']
517 518 519 520
  html_view_subscriber:
    class: Drupal\Core\EventSubscriber\HtmlViewSubscriber
    tags:
      - { name: event_subscriber }
521 522 523 524
    arguments: ['@html_fragment_renderer', '@html_page_renderer']
  html_fragment_renderer:
    class: Drupal\Core\Page\DefaultHtmlFragmentRenderer
    arguments: ['@language_manager']
525 526
  html_page_renderer:
    class: Drupal\Core\Page\DefaultHtmlPageRenderer
527 528 529 530 531
  private_key:
    class: Drupal\Core\PrivateKey
    arguments: ['@state']
  csrf_token:
    class: Drupal\Core\Access\CsrfTokenGenerator
532
    arguments: ['@private_key']
533 534
  access_arguments_resolver:
    class: Drupal\Core\Access\AccessArgumentsResolver
535 536
  access_manager:
    class: Drupal\Core\Access\AccessManager
537
    arguments: ['@router.route_provider', '@url_generator', '@paramconverter_manager', '@access_arguments_resolver']
538 539
    calls:
      - [setContainer, ['@service_container']]
540
      - [setRequest, ['@?request']]
541 542
  access_subscriber:
    class: Drupal\Core\EventSubscriber\AccessSubscriber
543 544 545 546 547 548 549
    arguments: ['@access_manager', '@current_user']
    calls:
      - [setCurrentUser, ['@?current_user']]
    tags:
      - { name: event_subscriber }
  access_route_subscriber:
    class: Drupal\Core\EventSubscriber\AccessRouteSubscriber
550 551 552 553 554 555
    tags:
      - { name: event_subscriber }
    arguments: ['@access_manager']
  access_check.default:
    class: Drupal\Core\Access\DefaultAccessCheck
    tags:
556
      - { name: access_check, applies_to: _access }
557 558 559
  access_check.entity:
    class: Drupal\Core\Entity\EntityAccessCheck
    tags:
560
      - { name: access_check, applies_to: _entity_access }
561 562
  access_check.entity_create:
    class: Drupal\Core\Entity\EntityCreateAccessCheck
563
    arguments: ['@entity.manager']
564
    tags:
565
      - { name: access_check, applies_to: _entity_create_access }
566 567 568
  access_check.theme:
    class: Drupal\Core\Theme\ThemeAccessCheck
    tags:
569
      - { name: access_check, applies_to: _access_theme }
570 571
  access_check.custom:
    class: Drupal\Core\Access\CustomAccessCheck
572
    arguments: ['@controller_resolver', '@access_arguments_resolver']
573
    tags:
574
      - { name: access_check, applies_to: _custom_access }
575 576 577
  access_check.csrf:
    class: Drupal\Core\Access\CsrfAccessCheck
    tags:
578
      - { name: access_check, applies_to: _csrf_token }
579
    arguments: ['@csrf_token']
580 581 582 583 584 585 586 587
  maintenance_mode_subscriber:
    class: Drupal\Core\EventSubscriber\MaintenanceModeSubscriber
    tags:
      - { name: event_subscriber }
  path_subscriber:
    class: Drupal\Core\EventSubscriber\PathSubscriber
    tags:
      - { name: event_subscriber }
588
    arguments: ['@path.alias_manager', '@path_processor_manager']
589 590 591 592 593 594 595 596
  legacy_request_subscriber:
    class: Drupal\Core\EventSubscriber\LegacyRequestSubscriber
    tags:
      - { name: event_subscriber }
  finish_response_subscriber:
    class: Drupal\Core\EventSubscriber\FinishResponseSubscriber
    tags:
      - { name: event_subscriber }
597
    arguments: ['@language_manager', '@config.factory']
598
    scope: request
599 600 601 602 603 604
  redirect_response_subscriber:
    class: Drupal\Core\EventSubscriber\RedirectResponseSubscriber
    arguments: ['@url_generator']
    tags:
      - { name: event_subscriber }
    scope: request
605 606 607 608 609
  request_close_subscriber:
    class: Drupal\Core\EventSubscriber\RequestCloseSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@module_handler']
610 611 612 613 614 615 616 617
  config_import_subscriber:
    class: Drupal\Core\EventSubscriber\ConfigImportSubscriber
    tags:
      - { name: event_subscriber }
  config_snapshot_subscriber:
    class: Drupal\Core\EventSubscriber\ConfigSnapshotSubscriber
    tags:
      - { name: event_subscriber }
618
    arguments: ['@config.manager', '@config.storage', '@config.storage.snapshot']
619
  exception_controller:
620
    class: Drupal\Core\Controller\ExceptionController
621
    arguments: ['@content_negotiation', '@title_resolver', '@html_page_renderer', '@html_fragment_renderer', '@string_translation', '@url_generator']
622 623 624
    calls:
      - [setContainer, ['@service_container']]
  exception_listener:
625
    class: Drupal\Core\EventSubscriber\ExceptionListener
626 627 628
    tags:
      - { name: event_subscriber }
    arguments: [['@exception_controller', execute]]
629 630
  route_processor_manager:
    class: Drupal\Core\RouteProcessor\RouteProcessorManager
631 632
    tags:
      - { name: service_collector, tag: route_processor_outbound, call: addOutbound }
633 634
  path_processor_manager:
    class: Drupal\Core\PathProcessor\PathProcessorManager
635 636 637
    tags:
      - { name: service_collector, tag: path_processor_inbound, call: addInbound }
      - { name: service_collector, tag: path_processor_outbound, call: addOutbound }
638 639 640 641 642 643 644 645
  path_processor_decode:
    class: Drupal\Core\PathProcessor\PathProcessorDecode
    tags:
      - { name: path_processor_inbound, priority: 1000 }
  path_processor_front:
    class: Drupal\Core\PathProcessor\PathProcessorFront
    tags:
      - { name: path_processor_inbound, priority: 200 }
646
      - { name: path_processor_outbound, priority: 200 }
647 648 649 650 651
    arguments: ['@config.factory']
  path_processor_alias:
    class: Drupal\Core\PathProcessor\PathProcessorAlias
    tags:
      - { name: path_processor_inbound, priority: 100 }
652
      - { name: path_processor_outbound, priority: 300 }
653
    arguments: ['@path.alias_manager']
654
  route_processor_csrf:
655 656 657 658
    class: Drupal\Core\Access\RouteProcessorCsrf
    tags:
      - { name: route_processor_outbound }
    arguments: ['@csrf_token']
659 660 661 662
  transliteration:
    class: Drupal\Core\Transliteration\PHPTransliteration
  flood:
    class: Drupal\Core\Flood\DatabaseBackend
663
    arguments: ['@database', '@request_stack']
664 665
  plugin.manager.mail:
    class: Drupal\Core\Mail\MailManager
666
    arguments: ['@container.namespaces', '@cache.discovery', '@language_manager', '@module_handler', '@config.factory']
667 668
  plugin.manager.condition:
    class: Drupal\Core\Condition\ConditionManager
669
    parent: default_plugin_manager
670 671 672 673 674 675 676 677 678 679 680
  kernel_destruct_subscriber:
    class: Drupal\Core\EventSubscriber\KernelDestructionSubscriber
    tags:
      - { name: event_subscriber }
    calls:
      - [setContainer, ['@service_container']]
  ajax.subscriber:
    class: Drupal\Core\Ajax\AjaxSubscriber
    tags:
      - { name: event_subscriber }
  image.toolkit.manager:
681
    class: Drupal\Core\ImageToolkit\ImageToolkitManager
682
    arguments: ['@container.namespaces', '@cache.discovery', '@language_manager', '@config.factory', '@module_handler']
683 684
  image.factory:
    class: Drupal\Core\Image\ImageFactory
685
    arguments: ['@image.toolkit.manager']
686 687
  breadcrumb:
    class: Drupal\Core\Breadcrumb\BreadcrumbManager
688
    arguments: ['@module_handler']
689 690
    tags:
      - { name: service_collector, tag: breadcrumb_builder, call: addBuilder }
691 692
  token:
    class: Drupal\Core\Utility\Token
693
    arguments: ['@module_handler', '@cache.discovery', '@language_manager']
694
  batch.storage:
695
    class: Drupal\Core\Batch\BatchStorage
696
    arguments: ['@database']
697 698 699 700
  slave_database_ignore__subscriber:
    class: Drupal\Core\EventSubscriber\SlaveDatabaseIgnoreSubscriber
    tags:
      - {name: event_subscriber}
701 702 703
  country_manager:
    class: Drupal\Core\Locale\CountryManager
    arguments: ['@module_handler']
704 705
  date:
    class: Drupal\Core\Datetime\Date
706
    arguments: ['@entity.manager', '@language_manager', '@string_translation', '@config.factory']
707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760
  feed.bridge.reader:
    class: Drupal\Component\Bridge\ZfExtensionManagerSfContainer
    calls:
      - [setContainer, ['@service_container']]
    arguments: ['feed.reader.']
  feed.bridge.writer:
    class: Drupal\Component\Bridge\ZfExtensionManagerSfContainer
    calls:
      - [setContainer, ['@service_container']]
    arguments: ['feed.writer.']
# Zend Feed reader plugins
  feed.reader.dublincoreentry:
    class: Zend\Feed\Reader\Extension\DublinCore\Entry
  feed.reader.dublincorefeed:
    class: Zend\Feed\Reader\Extension\DublinCore\Feed
  feed.reader.contententry:
    class: Zend\Feed\Reader\Extension\Content\Entry
  feed.reader.atomentry:
    class: Zend\Feed\Reader\Extension\Atom\Entry
  feed.reader.atomfeed:
    class: Zend\Feed\Reader\Extension\Atom\Feed
  feed.reader.slashentry:
    class: Zend\Feed\Reader\Extension\Slash\Entry
  feed.reader.wellformedwebentry:
    class: Zend\Feed\Reader\Extension\WellFormedWeb\Entry
  feed.reader.threadentry:
    class: Zend\Feed\Reader\Extension\Thread\Entry
  feed.reader.podcastentry:
    class: Zend\Feed\Reader\Extension\Podcast\Entry
  feed.reader.podcastfeed:
    class: Zend\Feed\Reader\Extension\Podcast\Feed
# Zend Feed writer plugins
  feed.writer.atomrendererfeed:
    class: Zend\Feed\Writer\Extension\Atom\Renderer\Feed
  feed.writer.contentrendererentry:
    class: Zend\Feed\Writer\Extension\Content\Renderer\Entry
  feed.writer.dublincorerendererentry:
    class: Zend\Feed\Writer\Extension\DublinCore\Renderer\Entry
  feed.writer.dublincorerendererfeed:
    class: Zend\Feed\Writer\Extension\DublinCore\Renderer\Feed
  feed.writer.itunesentry:
    class: Zend\Feed\Writer\Extension\ITunes\Entry
  feed.writer.itunesfeed:
    class: Zend\Feed\Writer\Extension\ITunes\Feed
  feed.writer.itunesrendererentry:
    class: Zend\Feed\Writer\Extension\ITunes\Renderer\Entry
  feed.writer.itunesrendererfeed:
    class: Zend\Feed\Writer\Extension\ITunes\Renderer\Feed
  feed.writer.slashrendererentry:
    class: Zend\Feed\Writer\Extension\Slash\Renderer\Entry
  feed.writer.threadingrendererentry:
    class: Zend\Feed\Writer\Extension\Threading\Renderer\Entry
  feed.writer.wellformedwebrendererentry:
    class: Zend\Feed\Writer\Extension\WellFormedWeb\Renderer\Entry
761 762
  theme.registry:
    class: Drupal\Core\Theme\Registry
763
    arguments: ['@cache.default', '@lock', '@module_handler']
764 765
    tags:
      - { name: needs_destruction }
766 767 768 769 770 771 772
  authentication:
    class: Drupal\Core\Authentication\AuthenticationManager
  authentication_subscriber:
    class: Drupal\Core\EventSubscriber\AuthenticationSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@authentication']
773
  current_user:
774
    class: Drupal\Core\Session\AccountProxy
775
    arguments: ['@authentication', '@request']
776 777
  session_manager:
    class: Drupal\Core\Session\SessionManager
778
    arguments: ['@request_stack', '@database', '@session_manager.metadata_bag', '@settings']
779 780
    tags:
      - { name: persist }
781 782 783
  session_manager.metadata_bag:
    class: Drupal\Core\Session\MetadataBag
    arguments: ['@settings']
784 785
  asset.css.collection_renderer:
    class: Drupal\Core\Asset\CssCollectionRenderer
786
    arguments: [ '@state' ]
787 788 789 790 791 792 793 794 795 796 797
  asset.css.collection_optimizer:
    class: Drupal\Core\Asset\CssCollectionOptimizer
    arguments: [ '@asset.css.collection_grouper', '@asset.css.optimizer', '@asset.css.dumper', '@state' ]
  asset.css.optimizer:
    class: Drupal\Core\Asset\CssOptimizer
  asset.css.collection_grouper:
    class: Drupal\Core\Asset\CssCollectionGrouper
  asset.css.dumper:
    class: Drupal\Core\Asset\AssetDumper
  asset.js.collection_renderer:
    class: Drupal\Core\Asset\JsCollectionRenderer
798
    arguments: [ '@state' ]
799 800 801 802 803 804 805 806 807
  asset.js.collection_optimizer:
    class: Drupal\Core\Asset\JsCollectionOptimizer
    arguments: [ '@asset.js.collection_grouper', '@asset.js.optimizer', '@asset.js.dumper', '@state' ]
  asset.js.optimizer:
    class: Drupal\Core\Asset\JsOptimizer
  asset.js.collection_grouper:
    class: Drupal\Core\Asset\JsCollectionGrouper
  asset.js.dumper:
    class: Drupal\Core\Asset\AssetDumper
808 809
  library.discovery:
    class: Drupal\Core\Asset\LibraryDiscovery
810
    arguments: ['@cache.discovery', '@module_handler']
811 812
  info_parser:
    class: Drupal\Core\Extension\InfoParser
813 814 815
  element_info:
    class: Drupal\Core\Render\ElementInfo
    arguments: ['@module_handler']