core.services.yml 26.2 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
services:
  cache_factory:
    class: Drupal\Core\Cache\CacheFactory
    arguments: ['@settings']
    calls:
      - [setContainer, ['@service_container']]
  cache.backend.database:
    class: Drupal\Core\Cache\DatabaseBackendFactory
    arguments: ['@database']
  cache.backend.memory:
    class: Drupal\Core\Cache\MemoryBackendFactory
  cache.bootstrap:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [bootstrap]
  cache.config:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
23
      - { name: persist }
24 25 26 27 28 29 30 31 32 33
    factory_method: get
    factory_service: cache_factory
    arguments: [config]
  cache.cache:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [cache]
34 35 36 37 38 39 40
  cache.entity:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [entity]
41 42 43 44 45 46 47
  cache.field:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [field]
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
  cache.menu:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [menu]
  cache.page:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [page]
  cache.path:
    class: Drupal\Core\Cache\CacheBackendInterface
    tags:
      - { name: cache.bin }
    factory_method: get
    factory_service: cache_factory
    arguments: [path]
  config.cachedstorage.storage:
    class: Drupal\Core\Config\FileStorage
    factory_class: Drupal\Core\Config\FileStorageFactory
    factory_method: getActive
  config.storage:
    class: Drupal\Core\Config\CachedStorage
    arguments: ['@config.cachedstorage.storage', '@cache.config']
76 77
    tags:
      - { name: persist }
78 79 80 81
  config.factory:
    class: Drupal\Core\Config\ConfigFactory
    tags:
      - { name: persist }
82 83
      - { name: event_subscriber }
    arguments: ['@config.storage', '@event_dispatcher', '@config.typed']
84 85 86
  config.installer:
    class: Drupal\Core\Config\ConfigInstaller
    arguments: ['@config.factory', '@config.storage', '@config.typed', '@entity.manager', '@event_dispatcher']
87 88 89 90 91 92 93 94 95
  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:
    class: Drupal\Core\Config\Schema\SchemaStorage
96 97
  config.storage.installer:
    class: Drupal\Core\Config\InstallStorage
98 99
  config.typed:
    class: Drupal\Core\Config\TypedConfigManager
100
    arguments: ['@config.storage', '@config.storage.schema', '@cache.config']
101 102 103
  cron:
    class: Drupal\Core\Cron
    arguments: ['@module_handler', '@lock', '@queue', '@state']
104 105 106 107 108
  database:
    class: Drupal\Core\Database\Connection
    factory_class: Drupal\Core\Database\Database
    factory_method: getConnection
    arguments: [default]
109 110 111 112 113
  form_builder:
    class: Drupal\Core\Form\FormBuilder
    arguments: ['@module_handler', '@keyvalue.expirable', '@event_dispatcher', '@url_generator', '@string_translation', '@?csrf_token', '@?http_kernel']
    calls:
      - [setRequest, ['@?request']]
114 115
  keyvalue:
    class: Drupal\Core\KeyValueStore\KeyValueFactory
116
    arguments: ['@service_container', '@settings']
117 118 119 120 121
  keyvalue.database:
    class: Drupal\Core\KeyValueStore\KeyValueDatabaseFactory
    arguments: ['@database']
  keyvalue.expirable:
    class: Drupal\Core\KeyValueStore\KeyValueExpirableFactory
122
    arguments: ['@service_container', '@settings']
123 124 125 126 127 128 129 130 131 132
  keyvalue.expirable.database:
    class: Drupal\Core\KeyValueStore\KeyValueDatabaseExpirableFactory
    tags:
      - { name: needs_destruction }
    arguments: ['@database']
  settings:
    class: Drupal\Component\Utility\Settings
    factory_class: Drupal\Component\Utility\Settings
    factory_method: getSingleton
  state:
133 134 135 136
    class: Drupal\Core\KeyValueStore\State
    arguments: ['@keyvalue']
    tags:
      - { name: persist }
137 138 139 140 141 142 143 144 145 146 147 148
  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 }
149
    arguments: [path_alias_whitelist, '@cache.cache', '@lock', '@state', '@database']
150 151 152 153 154 155 156 157 158 159 160
  path.alias_manager:
    class: Drupal\Core\Path\AliasManager
    arguments: ['@database', '@path.alias_whitelist', '@language_manager']
  http_client_simpletest_subscriber:
    class: Drupal\Core\Http\Plugin\SimpletestHttpRequestSubscriber
  http_default_client:
    class: Guzzle\Http\Client
    arguments: [null, { curl.CURLOPT_TIMEOUT: 30, curl.CURLOPT_MAXREDIRS: 3 }]
    calls:
      - [addSubscriber, ['@http_client_simpletest_subscriber']]
      - [setUserAgent, ['Drupal (+http://drupal.org/)']]
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
  theme.negotiator:
    class: Drupal\Core\Theme\ThemeNegotiator
    arguments: ['@access_check.theme']
    calls:
      - [setRequest, ['@request']]
  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 }
176 177 178 179 180
  container.namespaces:
    class: ArrayObject
    arguments: [ '%container.namespaces%' ]
    tags:
      - { name: persist }
181 182 183
  default_plugin_manager:
    abstract: true
    arguments: ['@container.namespaces', '@cache.cache', '@language_manager', '@module_handler']
184 185
  theme_handler:
    class: Drupal\Core\Extension\ThemeHandler
186
    arguments: ['@config.factory', '@module_handler', '@cache.cache', '@info_parser', '@config.installer', '@router.builder']
187
  entity.manager:
188
    class: Drupal\Core\Entity\EntityManager
189
    arguments: ['@container.namespaces', '@service_container', '@module_handler', '@cache.cache', '@language_manager', '@string_translation']
190 191 192 193 194 195 196 197 198
  plugin.manager.field.field_type:
    class: Drupal\Core\Field\FieldTypePluginManager
    arguments: ['@container.namespaces', '@cache.field', '@language_manager', '@module_handler']
  plugin.manager.field.widget:
    class: Drupal\Core\Field\WidgetPluginManager
    arguments: ['@container.namespaces', '@cache.field', '@module_handler', '@language_manager', '@plugin.manager.field.field_type']
  plugin.manager.field.formatter:
    class: Drupal\Core\Field\FormatterPluginManager
    arguments: ['@container.namespaces', '@cache.field', '@module_handler', '@language_manager', '@plugin.manager.field.field_type']
199 200
  plugin.manager.archiver:
    class: Drupal\Core\Archiver\ArchiverManager
201
    parent: default_plugin_manager
202 203 204
  plugin.manager.action:
    class: Drupal\Core\Action\ActionManager
    arguments: ['@container.namespaces']
205 206
  plugin.manager.menu.local_action:
    class: Drupal\Core\Menu\LocalActionManager
207
    arguments: ['@controller_resolver', '@request', '@router.route_provider', '@module_handler', '@cache.cache', '@language_manager', '@access_manager', '@current_user']
208 209
  plugin.manager.menu.local_task:
    class: Drupal\Core\Menu\LocalTaskManager
210
    arguments: ['@controller_resolver', '@request', '@router.route_provider', '@module_handler', '@cache.cache', '@language_manager', '@access_manager', '@current_user']
211 212 213
  plugin.manager.menu.contextual_link:
    class: Drupal\Core\Menu\ContextualLinkManager
    arguments: ['@controller_resolver', '@module_handler', '@cache.cache', '@language_manager', '@access_manager', '@current_user']
214 215
  request:
    class: Symfony\Component\HttpFoundation\Request
216
    synthetic: true
217 218 219 220
  event_dispatcher:
    class: Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher
    arguments: ['@service_container']
  controller_resolver:
221
    class: Drupal\Core\Controller\ControllerResolver
222
    arguments: ['@service_container']
223 224 225
  title_resolver:
    class: Drupal\Core\Controller\TitleResolver
    arguments: ['@controller_resolver', '@string_translation']
226 227 228 229 230
  http_kernel:
    class: Drupal\Core\HttpKernel
    arguments: ['@event_dispatcher', '@service_container', '@controller_resolver']
  language_manager:
    class: Drupal\Core\Language\LanguageManager
231 232
  string_translator.custom_strings:
    class: Drupal\Core\StringTranslation\Translator\CustomStrings
233
    arguments: ['@settings']
234 235 236 237
    tags:
      - { name: string_translator, priority: 30 }
  string_translation:
    class: Drupal\Core\StringTranslation\TranslationManager
238 239 240
    arguments: ['@language_manager']
    calls:
      - [initLanguageManager]
241 242 243 244 245
  database.slave:
    class: Drupal\Core\Database\Connection
    factory_class: Drupal\Core\Database\Database
    factory_method: getConnection
    arguments: [slave]
246
  typed_data_manager:
247
    class: Drupal\Core\TypedData\TypedDataManager
248
    parent: default_plugin_manager
249 250 251 252
    calls:
      - [setValidationConstraintManager, ['@validation.constraint']]
  validation.constraint:
    class: Drupal\Core\Validation\ConstraintManager
253
    parent: default_plugin_manager
254 255
  lock:
    class: Drupal\Core\Lock\DatabaseLockBackend
256
    arguments: ['@database']
257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273
  user.tempstore:
    class: Drupal\user\TempStoreFactory
    arguments: ['@database', '@lock']
  router.request_context:
    class: Symfony\Component\Routing\RequestContext
    calls:
      - [fromRequest, ['@request']]
  router.route_provider:
    class: Drupal\Core\Routing\RouteProvider
    arguments: ['@database']
  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']]
274
  url_generator:
275
    class: Drupal\Core\Routing\UrlGenerator
276
    arguments: ['@router.route_provider', '@path_processor_manager', '@route_processor_manager', '@config.factory', '@settings']
277 278
    calls:
      - [setRequest, ['@?request']]
279
      - [setContext, ['@?router.request_context']]
280 281
  link_generator:
    class: Drupal\Core\Utility\LinkGenerator
282
    arguments: ['@url_generator', '@module_handler', '@language_manager', '@path.alias_manager.cached']
283 284
    calls:
      - [setRequest, ['@?request']]
285 286
  router.dynamic:
    class: Symfony\Cmf\Component\Routing\DynamicRouter
287
    arguments: ['@router.request_context', '@router.matcher', '@url_generator']
288 289 290 291 292 293 294
  router:
    class: Symfony\Cmf\Component\Routing\ChainRouter
    calls:
      - [setContext, ['@router.request_context']]
      - [add, ['@router.dynamic']]
  entity.query:
    class: Drupal\Core\Entity\Query\QueryFactory
295
    arguments: ['@entity.manager']
296 297 298 299
    calls:
      - [setContainer, ['@service_container']]
  entity.query.config:
    class: Drupal\Core\Config\Entity\Query\QueryFactory
300
    arguments: ['@config.storage', '@config.factory']
301 302 303
  entity.query.sql:
    class: Drupal\Core\Entity\Query\Sql\QueryFactory
    arguments: ['@database']
304 305 306 307 308
  router.dumper:
    class: Drupal\Core\Routing\MatcherDumper
    arguments: ['@database']
  router.builder:
    class: Drupal\Core\Routing\RouteBuilder
309
    arguments: ['@router.dumper', '@lock', '@event_dispatcher', '@module_handler', '@controller_resolver']
310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330
  path.alias_manager.cached:
    class: Drupal\Core\CacheDecorator\AliasManagerCacheDecorator
    arguments: ['@path.alias_manager', '@cache.path']
  path.crud:
    class: Drupal\Core\Path\Path
    arguments: ['@database', '@path.alias_manager']
# 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]
  mime_type_matcher:
    class: Drupal\Core\Routing\MimeTypeMatcher
    tags:
      - { name: route_filter }
  paramconverter_manager:
    class: Drupal\Core\ParamConverter\ParamConverterManager
331 332
    calls:
      - [setContainer, ['@service_container']]
333 334
    tags:
      - { name: route_enhancer }
335 336 337 338 339
  paramconverter_subscriber:
    class: Drupal\Core\EventSubscriber\ParamConverterSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@paramconverter_manager']
340 341 342 343
  paramconverter.entity:
    class: Drupal\Core\ParamConverter\EntityConverter
    tags:
      - { name: paramconverter }
344
    arguments: ['@entity.manager']
345 346 347 348 349
  route_subscriber.module:
    class: Drupal\Core\EventSubscriber\ModuleRouteSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@module_handler']
350 351 352 353
  route_subscriber.entity:
    class: Drupal\Core\EventSubscriber\EntityRouteAlterSubscriber
    tags:
      - { name: event_subscriber }
354
    arguments: ['@entity.manager']
355 356 357 358 359
  reverse_proxy_subscriber:
    class: Drupal\Core\EventSubscriber\ReverseProxySubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@settings']
360 361 362 363
  ajax_response_subscriber:
    class: Drupal\Core\EventSubscriber\AjaxResponseSubscriber
    tags:
      - { name: event_subscriber }
364 365
  route_enhancer.authentication:
    class: Drupal\Core\Routing\Enhancer\AuthenticationEnhancer
366 367
    calls:
      - [setContainer, ['@service_container']]
368 369 370
    tags:
      - { name: route_enhancer, priority: 1000 }
    arguments: ['@authentication']
371 372
  route_enhancer.content_controller:
    class: Drupal\Core\Routing\Enhancer\ContentControllerEnhancer
373 374 375
    arguments: ['@content_negotiation']
    tags:
      - { name: route_enhancer, priority: 30 }
376 377 378
  route_enhancer.ajax:
    class: Drupal\Core\Routing\Enhancer\AjaxEnhancer
    arguments: ['@content_negotiation']
379
    tags:
380 381
      - { name: route_enhancer, priority: 15 }
      - { name: legacy_route_enhancer, priority: 15 }
382 383
  route_enhancer.entity:
    class: Drupal\Core\Entity\Enhancer\EntityRouteEnhancer
384
    arguments: ['@controller_resolver', '@entity.manager', '@form_builder']
385
    tags:
386
      - { name: route_enhancer, priority: 20 }
387 388
  route_enhancer.form:
    class: Drupal\Core\Routing\Enhancer\FormEnhancer
389
    arguments: ['@service_container', '@controller_resolver', '@form_builder']
390 391
    tags:
      - { name: route_enhancer, priority: 10 }
392 393 394 395
  route_special_attributes_subscriber:
    class: Drupal\Core\EventSubscriber\SpecialAttributesRouteSubscriber
    tags:
      - { name: event_subscriber }
396 397
  controller.page:
    class: Drupal\Core\Controller\HtmlPageController
398 399 400 401 402 403 404
    arguments: ['@controller_resolver', '@string_translation', '@title_resolver']
  controller.ajax:
    class: Drupal\Core\Controller\AjaxController
    arguments: ['@controller_resolver']
  controller.entityform:
    class: Drupal\Core\Entity\HtmlEntityFormController
    arguments: ['@controller_resolver', '@service_container', '@entity.manager']
405 406
  controller.dialog:
    class: Drupal\Core\Controller\DialogController
407
    arguments: ['@controller_resolver', '@title_resolver']
408 409 410 411 412 413 414 415 416 417 418
  router_listener:
    class: Symfony\Component\HttpKernel\EventListener\RouterListener
    tags:
      - { name: event_subscriber }
    arguments: ['@router']
  content_negotiation:
    class: Drupal\Core\ContentNegotiation
  view_subscriber:
    class: Drupal\Core\EventSubscriber\ViewSubscriber
    tags:
      - { name: event_subscriber }
419
    arguments: ['@content_negotiation', '@title_resolver']
420 421 422 423 424 425 426 427
  html_view_subscriber:
    class: Drupal\Core\EventSubscriber\HtmlViewSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@html_page_renderer']
  html_page_renderer:
    class: Drupal\Core\Page\DefaultHtmlPageRenderer
    arguments: ['@language_manager']
428 429 430 431 432 433 434
  private_key:
    class: Drupal\Core\PrivateKey
    arguments: ['@state']
  csrf_token:
    class: Drupal\Core\Access\CsrfTokenGenerator
    arguments: ['@private_key']
    calls:
435
      - [setCurrentUser, ['@?current_user']]
436 437
  access_manager:
    class: Drupal\Core\Access\AccessManager
438
    arguments: ['@router.route_provider', '@url_generator', '@paramconverter_manager']
439 440
    calls:
      - [setContainer, ['@service_container']]
441
      - [setRequest, ['@?request']]
442 443
  access_subscriber:
    class: Drupal\Core\EventSubscriber\AccessSubscriber
444 445 446 447 448 449 450
    arguments: ['@access_manager', '@current_user']
    calls:
      - [setCurrentUser, ['@?current_user']]
    tags:
      - { name: event_subscriber }
  access_route_subscriber:
    class: Drupal\Core\EventSubscriber\AccessRouteSubscriber
451 452 453 454 455 456
    tags:
      - { name: event_subscriber }
    arguments: ['@access_manager']
  access_check.default:
    class: Drupal\Core\Access\DefaultAccessCheck
    tags:
457
      - { name: access_check, applies_to: _access }
458 459 460
  access_check.entity:
    class: Drupal\Core\Entity\EntityAccessCheck
    tags:
461
      - { name: access_check, applies_to: _entity_access }
462 463
  access_check.entity_create:
    class: Drupal\Core\Entity\EntityCreateAccessCheck
464
    arguments: ['@entity.manager']
465
    tags:
466
      - { name: access_check, applies_to: _entity_create_access }
467 468 469
  access_check.theme:
    class: Drupal\Core\Theme\ThemeAccessCheck
    tags:
470
      - { name: access_check, applies_to: _access_theme }
471 472 473 474
  access_check.custom:
    class: Drupal\Core\Access\CustomAccessCheck
    arguments: ['@controller_resolver']
    tags:
475
      - { name: access_check, applies_to: _custom_access }
476 477 478
  access_check.csrf:
    class: Drupal\Core\Access\CsrfAccessCheck
    tags:
479
      - { name: access_check, applies_to: _csrf_token }
480
    arguments: ['@csrf_token']
481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499
  maintenance_mode_subscriber:
    class: Drupal\Core\EventSubscriber\MaintenanceModeSubscriber
    tags:
      - { name: event_subscriber }
  path_subscriber:
    class: Drupal\Core\EventSubscriber\PathSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@path.alias_manager.cached', '@path_processor_manager']
  legacy_request_subscriber:
    class: Drupal\Core\EventSubscriber\LegacyRequestSubscriber
    tags:
      - { name: event_subscriber }
  finish_response_subscriber:
    class: Drupal\Core\EventSubscriber\FinishResponseSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@language_manager']
    scope: request
500 501 502 503 504 505
  redirect_response_subscriber:
    class: Drupal\Core\EventSubscriber\RedirectResponseSubscriber
    arguments: ['@url_generator']
    tags:
      - { name: event_subscriber }
    scope: request
506 507 508 509 510 511 512 513 514
  request_close_subscriber:
    class: Drupal\Core\EventSubscriber\RequestCloseSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@module_handler']
  config_global_override_subscriber:
    class: Drupal\Core\EventSubscriber\ConfigGlobalOverrideSubscriber
    tags:
      - { name: event_subscriber }
515 516 517 518 519 520 521 522 523
  config_import_subscriber:
    class: Drupal\Core\EventSubscriber\ConfigImportSubscriber
    tags:
      - { name: event_subscriber }
  config_snapshot_subscriber:
    class: Drupal\Core\EventSubscriber\ConfigSnapshotSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@config.storage', '@config.storage.snapshot']
524
  exception_controller:
525
    class: Drupal\Core\Controller\ExceptionController
526
    arguments: ['@content_negotiation', '@string_translation', '@title_resolver', '@html_page_renderer']
527 528 529 530 531 532 533
    calls:
      - [setContainer, ['@service_container']]
  exception_listener:
    class: Symfony\Component\HttpKernel\EventListener\ExceptionListener
    tags:
      - { name: event_subscriber }
    arguments: [['@exception_controller', execute]]
534 535
  route_processor_manager:
    class: Drupal\Core\RouteProcessor\RouteProcessorManager
536 537 538 539 540 541 542 543 544 545
  path_processor_manager:
    class: Drupal\Core\PathProcessor\PathProcessorManager
  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 }
546
      - { name: path_processor_outbound, priority: 200 }
547 548 549 550 551
    arguments: ['@config.factory']
  path_processor_alias:
    class: Drupal\Core\PathProcessor\PathProcessorAlias
    tags:
      - { name: path_processor_inbound, priority: 100 }
552
      - { name: path_processor_outbound, priority: 300 }
553
    arguments: ['@path.alias_manager']
554
  route_processor_csrf:
555 556 557 558
    class: Drupal\Core\Access\RouteProcessorCsrf
    tags:
      - { name: route_processor_outbound }
    arguments: ['@csrf_token']
559 560 561 562
  transliteration:
    class: Drupal\Core\Transliteration\PHPTransliteration
  flood:
    class: Drupal\Core\Flood\DatabaseBackend
563
    arguments: ['@database', '@request']
564 565 566
  mail.factory:
    class: Drupal\Core\Mail\MailFactory
    arguments: ['@config.factory']
567 568
  plugin.manager.condition:
    class: Drupal\Core\Condition\ConditionManager
569
    parent: default_plugin_manager
570 571 572 573 574 575 576 577 578 579 580
  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:
581
    class: Drupal\Core\ImageToolkit\ImageToolkitManager
582
    arguments: ['@container.namespaces', '@cache.cache', '@language_manager', '@config.factory']
583
  image.toolkit:
584
    class: Drupal\Core\ImageToolkit\ImageToolkitInterface
585 586
    factory_method: getDefaultToolkit
    factory_service: image.toolkit.manager
587 588 589
  image.factory:
    class: Drupal\Core\Image\ImageFactory
    arguments: ['@image.toolkit']
590 591
  breadcrumb:
    class: Drupal\Core\Breadcrumb\BreadcrumbManager
592
    arguments: ['@module_handler']
593 594 595
  token:
    class: Drupal\Core\Utility\Token
    arguments: ['@module_handler']
596
  batch.storage:
597
    class: Drupal\Core\Batch\BatchStorage
598
    arguments: ['@database']
599 600 601 602
  slave_database_ignore__subscriber:
    class: Drupal\Core\EventSubscriber\SlaveDatabaseIgnoreSubscriber
    tags:
      - {name: event_subscriber}
603 604 605
  country_manager:
    class: Drupal\Core\Locale\CountryManager
    arguments: ['@module_handler']
606 607
  date:
    class: Drupal\Core\Datetime\Date
608
    arguments: ['@entity.manager', '@language_manager', '@string_translation', '@config.factory']
609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662
  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
663 664 665 666 667
  theme.registry:
    class: Drupal\Core\Theme\Registry
    arguments: ['@cache.cache', '@lock', '@module_handler']
    tags:
      - { name: needs_destruction }
668 669 670 671 672 673 674 675 676 677 678
  authentication:
    class: Drupal\Core\Authentication\AuthenticationManager
  authentication.cookie:
    class: Drupal\Core\Authentication\Provider\Cookie
    tags:
      - { name: authentication_provider, priority: 0 }
  authentication_subscriber:
    class: Drupal\Core\EventSubscriber\AuthenticationSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@authentication']
679 680 681 682 683
  current_user:
    class: Drupal\Core\Session\AccountInterface
    factory_method: authenticate
    factory_service: authentication
    arguments: ['@request']
684
    synchronized: true
685 686
  asset.css.collection_renderer:
    class: Drupal\Core\Asset\CssCollectionRenderer
687
    arguments: [ '@state' ]
688 689 690 691 692 693 694 695 696 697 698
  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
699
    arguments: [ '@state' ]
700 701 702 703 704 705 706 707 708
  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
709 710
  info_parser:
    class: Drupal\Core\Extension\InfoParser