core.services.yml 26.1 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 104 105
  database:
    class: Drupal\Core\Database\Connection
    factory_class: Drupal\Core\Database\Database
    factory_method: getConnection
    arguments: [default]
106 107 108 109 110
  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']]
111 112
  keyvalue:
    class: Drupal\Core\KeyValueStore\KeyValueFactory
113
    arguments: ['@service_container', '@settings']
114 115 116 117 118
  keyvalue.database:
    class: Drupal\Core\KeyValueStore\KeyValueDatabaseFactory
    arguments: ['@database']
  keyvalue.expirable:
    class: Drupal\Core\KeyValueStore\KeyValueExpirableFactory
119
    arguments: ['@service_container', '@settings']
120 121 122 123 124 125 126 127 128 129
  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:
130 131 132 133
    class: Drupal\Core\KeyValueStore\State
    arguments: ['@keyvalue']
    tags:
      - { name: persist }
134 135 136 137 138 139 140 141 142 143 144 145
  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 }
146
    arguments: [path_alias_whitelist, '@cache.cache', '@lock', '@state', '@database']
147 148 149 150 151 152 153 154 155 156 157
  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/)']]
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
  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 }
173 174 175 176 177
  container.namespaces:
    class: ArrayObject
    arguments: [ '%container.namespaces%' ]
    tags:
      - { name: persist }
178 179 180
  default_plugin_manager:
    abstract: true
    arguments: ['@container.namespaces', '@cache.cache', '@language_manager', '@module_handler']
181 182
  theme_handler:
    class: Drupal\Core\Extension\ThemeHandler
183
    arguments: ['@config.factory', '@module_handler', '@cache.cache', '@info_parser', '@config.installer', '@router.builder']
184
  entity.manager:
185
    class: Drupal\Core\Entity\EntityManager
186
    arguments: ['@container.namespaces', '@service_container', '@module_handler', '@cache.cache', '@language_manager', '@string_translation']
187 188 189 190 191 192 193 194 195
  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']
196 197
  plugin.manager.archiver:
    class: Drupal\Core\Archiver\ArchiverManager
198
    parent: default_plugin_manager
199 200 201
  plugin.manager.action:
    class: Drupal\Core\Action\ActionManager
    arguments: ['@container.namespaces']
202 203
  plugin.manager.menu.local_action:
    class: Drupal\Core\Menu\LocalActionManager
204
    arguments: ['@controller_resolver', '@request', '@router.route_provider', '@module_handler', '@cache.cache', '@language_manager', '@access_manager', '@current_user']
205 206
  plugin.manager.menu.local_task:
    class: Drupal\Core\Menu\LocalTaskManager
207
    arguments: ['@controller_resolver', '@request', '@router.route_provider', '@module_handler', '@cache.cache', '@language_manager', '@access_manager', '@current_user']
208 209 210
  plugin.manager.menu.contextual_link:
    class: Drupal\Core\Menu\ContextualLinkManager
    arguments: ['@controller_resolver', '@module_handler', '@cache.cache', '@language_manager', '@access_manager', '@current_user']
211 212
  request:
    class: Symfony\Component\HttpFoundation\Request
213
    synthetic: true
214 215 216 217
  event_dispatcher:
    class: Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher
    arguments: ['@service_container']
  controller_resolver:
218
    class: Drupal\Core\Controller\ControllerResolver
219
    arguments: ['@service_container']
220 221 222
  title_resolver:
    class: Drupal\Core\Controller\TitleResolver
    arguments: ['@controller_resolver', '@string_translation']
223 224 225 226 227
  http_kernel:
    class: Drupal\Core\HttpKernel
    arguments: ['@event_dispatcher', '@service_container', '@controller_resolver']
  language_manager:
    class: Drupal\Core\Language\LanguageManager
228 229
  string_translator.custom_strings:
    class: Drupal\Core\StringTranslation\Translator\CustomStrings
230
    arguments: ['@settings']
231 232 233 234
    tags:
      - { name: string_translator, priority: 30 }
  string_translation:
    class: Drupal\Core\StringTranslation\TranslationManager
235 236 237
    arguments: ['@language_manager']
    calls:
      - [initLanguageManager]
238 239 240 241 242
  database.slave:
    class: Drupal\Core\Database\Connection
    factory_class: Drupal\Core\Database\Database
    factory_method: getConnection
    arguments: [slave]
243
  typed_data_manager:
244
    class: Drupal\Core\TypedData\TypedDataManager
245
    parent: default_plugin_manager
246 247 248 249
    calls:
      - [setValidationConstraintManager, ['@validation.constraint']]
  validation.constraint:
    class: Drupal\Core\Validation\ConstraintManager
250
    parent: default_plugin_manager
251 252
  lock:
    class: Drupal\Core\Lock\DatabaseLockBackend
253
    arguments: ['@database']
254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270
  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']]
271
  url_generator:
272
    class: Drupal\Core\Routing\UrlGenerator
273
    arguments: ['@router.route_provider', '@path_processor_manager', '@route_processor_manager', '@config.factory', '@settings']
274 275
    calls:
      - [setRequest, ['@?request']]
276
      - [setContext, ['@?router.request_context']]
277 278
    tags:
      - { name: persist }
279 280
  link_generator:
    class: Drupal\Core\Utility\LinkGenerator
281
    arguments: ['@url_generator', '@module_handler', '@language_manager']
282 283
    calls:
      - [setRequest, ['@?request']]
284 285
  router.dynamic:
    class: Symfony\Cmf\Component\Routing\DynamicRouter
286
    arguments: ['@router.request_context', '@router.matcher', '@url_generator']
287 288 289 290 291 292 293
  router:
    class: Symfony\Cmf\Component\Routing\ChainRouter
    calls:
      - [setContext, ['@router.request_context']]
      - [add, ['@router.dynamic']]
  entity.query:
    class: Drupal\Core\Entity\Query\QueryFactory
294
    arguments: ['@entity.manager']
295 296 297 298
    calls:
      - [setContainer, ['@service_container']]
  entity.query.config:
    class: Drupal\Core\Config\Entity\Query\QueryFactory
299
    arguments: ['@config.storage', '@config.factory']
300 301 302
  entity.query.sql:
    class: Drupal\Core\Entity\Query\Sql\QueryFactory
    arguments: ['@database']
303 304 305 306 307
  router.dumper:
    class: Drupal\Core\Routing\MatcherDumper
    arguments: ['@database']
  router.builder:
    class: Drupal\Core\Routing\RouteBuilder
308
    arguments: ['@router.dumper', '@lock', '@event_dispatcher', '@module_handler', '@controller_resolver']
309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329
  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
330 331
    calls:
      - [setContainer, ['@service_container']]
332 333
    tags:
      - { name: route_enhancer }
334 335 336 337 338
  paramconverter_subscriber:
    class: Drupal\Core\EventSubscriber\ParamConverterSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@paramconverter_manager']
339 340 341 342
  paramconverter.entity:
    class: Drupal\Core\ParamConverter\EntityConverter
    tags:
      - { name: paramconverter }
343
    arguments: ['@entity.manager']
344 345 346 347 348
  route_subscriber.module:
    class: Drupal\Core\EventSubscriber\ModuleRouteSubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@module_handler']
349 350 351 352
  route_subscriber.entity:
    class: Drupal\Core\EventSubscriber\EntityRouteAlterSubscriber
    tags:
      - { name: event_subscriber }
353
    arguments: ['@entity.manager']
354 355 356 357 358
  reverse_proxy_subscriber:
    class: Drupal\Core\EventSubscriber\ReverseProxySubscriber
    tags:
      - { name: event_subscriber }
    arguments: ['@settings']
359 360 361 362
  ajax_response_subscriber:
    class: Drupal\Core\EventSubscriber\AjaxResponseSubscriber
    tags:
      - { name: event_subscriber }
363 364
  route_enhancer.authentication:
    class: Drupal\Core\Routing\Enhancer\AuthenticationEnhancer
365 366
    calls:
      - [setContainer, ['@service_container']]
367 368 369
    tags:
      - { name: route_enhancer, priority: 1000 }
    arguments: ['@authentication']
370 371
  route_enhancer.content_controller:
    class: Drupal\Core\Routing\Enhancer\ContentControllerEnhancer
372 373 374
    arguments: ['@content_negotiation']
    tags:
      - { name: route_enhancer, priority: 30 }
375 376 377
  route_enhancer.ajax:
    class: Drupal\Core\Routing\Enhancer\AjaxEnhancer
    arguments: ['@content_negotiation']
378
    tags:
379 380
      - { name: route_enhancer, priority: 15 }
      - { name: legacy_route_enhancer, priority: 15 }
381 382
  route_enhancer.entity:
    class: Drupal\Core\Entity\Enhancer\EntityRouteEnhancer
383
    arguments: ['@controller_resolver', '@entity.manager', '@form_builder']
384
    tags:
385
      - { name: route_enhancer, priority: 20 }
386 387
  route_enhancer.form:
    class: Drupal\Core\Routing\Enhancer\FormEnhancer
388
    arguments: ['@service_container', '@controller_resolver', '@form_builder']
389 390
    tags:
      - { name: route_enhancer, priority: 10 }
391 392 393 394
  route_special_attributes_subscriber:
    class: Drupal\Core\EventSubscriber\SpecialAttributesRouteSubscriber
    tags:
      - { name: event_subscriber }
395 396
  controller.page:
    class: Drupal\Core\Controller\HtmlPageController
397 398 399 400 401 402 403
    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']
404 405
  controller.dialog:
    class: Drupal\Core\Controller\DialogController
406
    arguments: ['@controller_resolver', '@title_resolver']
407 408 409 410 411 412 413 414 415 416 417
  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 }
418
    arguments: ['@content_negotiation', '@title_resolver']
419 420 421 422 423 424 425 426
  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']
427 428 429 430 431 432 433
  private_key:
    class: Drupal\Core\PrivateKey
    arguments: ['@state']
  csrf_token:
    class: Drupal\Core\Access\CsrfTokenGenerator
    arguments: ['@private_key']
    calls:
434
      - [setCurrentUser, ['@?current_user']]
435 436
  access_manager:
    class: Drupal\Core\Access\AccessManager
437
    arguments: ['@router.route_provider', '@url_generator', '@paramconverter_manager']
438 439
    calls:
      - [setContainer, ['@service_container']]
440
      - [setRequest, ['@?request']]
441 442
  access_subscriber:
    class: Drupal\Core\EventSubscriber\AccessSubscriber
443 444 445 446 447 448 449
    arguments: ['@access_manager', '@current_user']
    calls:
      - [setCurrentUser, ['@?current_user']]
    tags:
      - { name: event_subscriber }
  access_route_subscriber:
    class: Drupal\Core\EventSubscriber\AccessRouteSubscriber
450 451 452 453 454 455
    tags:
      - { name: event_subscriber }
    arguments: ['@access_manager']
  access_check.default:
    class: Drupal\Core\Access\DefaultAccessCheck
    tags:
456
      - { name: access_check, applies_to: _access }
457 458 459
  access_check.entity:
    class: Drupal\Core\Entity\EntityAccessCheck
    tags:
460
      - { name: access_check, applies_to: _entity_access }
461 462
  access_check.entity_create:
    class: Drupal\Core\Entity\EntityCreateAccessCheck
463
    arguments: ['@entity.manager']
464
    tags:
465
      - { name: access_check, applies_to: _entity_create_access }
466 467 468
  access_check.theme:
    class: Drupal\Core\Theme\ThemeAccessCheck
    tags:
469
      - { name: access_check, applies_to: _access_theme }
470 471 472 473
  access_check.custom:
    class: Drupal\Core\Access\CustomAccessCheck
    arguments: ['@controller_resolver']
    tags:
474
      - { name: access_check, applies_to: _custom_access }
475 476 477
  access_check.csrf:
    class: Drupal\Core\Access\CsrfAccessCheck
    tags:
478
      - { name: access_check, applies_to: _csrf_token }
479
    arguments: ['@csrf_token']
480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498
  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
499 500 501 502 503 504
  redirect_response_subscriber:
    class: Drupal\Core\EventSubscriber\RedirectResponseSubscriber
    arguments: ['@url_generator']
    tags:
      - { name: event_subscriber }
    scope: request
505 506 507 508 509 510 511 512 513
  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 }
514 515 516 517 518 519 520 521 522
  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']
523
  exception_controller:
524
    class: Drupal\Core\Controller\ExceptionController
525
    arguments: ['@content_negotiation', '@string_translation', '@title_resolver', '@html_page_renderer']
526 527 528 529 530 531 532
    calls:
      - [setContainer, ['@service_container']]
  exception_listener:
    class: Symfony\Component\HttpKernel\EventListener\ExceptionListener
    tags:
      - { name: event_subscriber }
    arguments: [['@exception_controller', execute]]
533 534
  route_processor_manager:
    class: Drupal\Core\RouteProcessor\RouteProcessorManager
535 536 537 538 539 540 541 542 543 544
  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 }
545
      - { name: path_processor_outbound, priority: 200 }
546 547 548 549 550
    arguments: ['@config.factory']
  path_processor_alias:
    class: Drupal\Core\PathProcessor\PathProcessorAlias
    tags:
      - { name: path_processor_inbound, priority: 100 }
551
      - { name: path_processor_outbound, priority: 300 }
552
    arguments: ['@path.alias_manager']
553
  route_processor_csrf:
554 555 556 557
    class: Drupal\Core\Access\RouteProcessorCsrf
    tags:
      - { name: route_processor_outbound }
    arguments: ['@csrf_token']
558 559 560 561
  transliteration:
    class: Drupal\Core\Transliteration\PHPTransliteration
  flood:
    class: Drupal\Core\Flood\DatabaseBackend
562
    arguments: ['@database', '@request']
563 564 565
  mail.factory:
    class: Drupal\Core\Mail\MailFactory
    arguments: ['@config.factory']
566 567
  plugin.manager.condition:
    class: Drupal\Core\Condition\ConditionManager
568
    parent: default_plugin_manager
569 570 571 572 573 574 575 576 577 578 579
  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:
580
    class: Drupal\Core\ImageToolkit\ImageToolkitManager
581
    arguments: ['@container.namespaces', '@cache.cache', '@language_manager', '@config.factory']
582
  image.toolkit:
583
    class: Drupal\Core\ImageToolkit\ImageToolkitInterface
584 585
    factory_method: getDefaultToolkit
    factory_service: image.toolkit.manager
586 587 588
  image.factory:
    class: Drupal\Core\Image\ImageFactory
    arguments: ['@image.toolkit']
589 590
  breadcrumb:
    class: Drupal\Core\Breadcrumb\BreadcrumbManager
591
    arguments: ['@module_handler']
592 593 594
  token:
    class: Drupal\Core\Utility\Token
    arguments: ['@module_handler']
595
  batch.storage:
596
    class: Drupal\Core\Batch\BatchStorage
597
    arguments: ['@database']
598 599 600 601
  slave_database_ignore__subscriber:
    class: Drupal\Core\EventSubscriber\SlaveDatabaseIgnoreSubscriber
    tags:
      - {name: event_subscriber}
602 603 604
  country_manager:
    class: Drupal\Core\Locale\CountryManager
    arguments: ['@module_handler']
605 606
  date:
    class: Drupal\Core\Datetime\Date
607
    arguments: ['@entity.manager', '@language_manager', '@string_translation', '@config.factory']
608 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
  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
662 663 664 665 666
  theme.registry:
    class: Drupal\Core\Theme\Registry
    arguments: ['@cache.cache', '@lock', '@module_handler']
    tags:
      - { name: needs_destruction }
667 668 669 670 671 672 673 674 675 676 677
  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']
678 679 680 681 682
  current_user:
    class: Drupal\Core\Session\AccountInterface
    factory_method: authenticate
    factory_service: authentication
    arguments: ['@request']
683
    synchronized: true
684 685
  asset.css.collection_renderer:
    class: Drupal\Core\Asset\CssCollectionRenderer
686
    arguments: [ '@state' ]
687 688 689 690 691 692 693 694 695 696 697
  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
698
    arguments: [ '@state' ]
699 700 701 702 703 704 705 706 707
  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
708 709
  info_parser:
    class: Drupal\Core\Extension\InfoParser