Same filename and directory in other branches
  1. 8.9.x core/core.services.yml
  2. 9 core/core.services.yml
core/core.services.yml

File

core/core.services.yml
View source
  1. parameters:
  2. # The app.root and site.path parameters are dynamically set by
  3. # \Drupal\Core\DrupalKernel::initializeContainer(). They are listed here to
  4. # allow IDEs to autocomplete them when writing new service YAML files.
  5. app.root: ''
  6. site.path: ''
  7. # \Drupal\Core\Cache\ListCacheBinsPass::process() will override this but defining this allows the cache system to
  8. # function properly before that runs.
  9. cache_default_bin_backends: []
  10. memory_cache_default_bin_backends: []
  11. security.enable_super_user: true
  12. session.storage.options:
  13. gc_probability: 1
  14. gc_divisor: 100
  15. gc_maxlifetime: 200000
  16. cookie_lifetime: 2000000
  17. cookie_samesite: Lax
  18. sid_length: 48
  19. sid_bits_per_character: 6
  20. twig.config:
  21. debug: false
  22. auto_reload: null
  23. cache: true
  24. allowed_file_extensions:
  25. - css
  26. - html
  27. - js
  28. - svg
  29. - twig
  30. renderer.config:
  31. required_cache_contexts: ['languages:language_interface', 'theme', 'user.permissions']
  32. auto_placeholder_conditions:
  33. max-age: 0
  34. contexts: ['session', 'user']
  35. tags: []
  36. debug: false
  37. factory.keyvalue:
  38. default: keyvalue.database
  39. http.response.debug_cacheability_headers: false
  40. factory.keyvalue.expirable:
  41. default: keyvalue.expirable.database
  42. filter_protocols:
  43. - http
  44. - https
  45. - ftp
  46. - news
  47. - nntp
  48. - tel
  49. - telnet
  50. - mailto
  51. - irc
  52. - ssh
  53. - sftp
  54. - webcal
  55. - rtsp
  56. cors.config:
  57. enabled: false
  58. allowedHeaders: []
  59. allowedMethods: []
  60. allowedOrigins: ['*']
  61. exposedHeaders: false
  62. maxAge: false
  63. supportsCredentials: false
  64. tempstore.expire: 604800
  65. queue.config:
  66. suspendMaximumWait: 30.0
  67. services:
  68. _defaults:
  69. autoconfigure: true
  70. # Simple cache contexts, directly derived from the request context.
  71. cache_context.ip:
  72. class: Drupal\Core\Cache\Context\IpCacheContext
  73. arguments: ['@request_stack']
  74. tags:
  75. - { name: cache.context }
  76. cache_context.protocol_version:
  77. class: Drupal\Core\Cache\Context\ProtocolVersionCacheContext
  78. arguments: ['@request_stack']
  79. tags:
  80. - { name: cache.context }
  81. cache_context.headers:
  82. class: Drupal\Core\Cache\Context\HeadersCacheContext
  83. arguments: ['@request_stack']
  84. tags:
  85. - { name: cache.context }
  86. cache_context.cookies:
  87. class: Drupal\Core\Cache\Context\CookiesCacheContext
  88. arguments: ['@request_stack']
  89. tags:
  90. - { name: cache.context }
  91. cache_context.session:
  92. class: Drupal\Core\Cache\Context\SessionCacheContext
  93. arguments: ['@request_stack']
  94. tags:
  95. - { name: cache.context}
  96. cache_context.session.exists:
  97. class: Drupal\Core\Cache\Context\SessionExistsCacheContext
  98. arguments: ['@session_configuration', '@request_stack']
  99. tags:
  100. - { name: cache.context}
  101. cache_context.request_format:
  102. class: Drupal\Core\Cache\Context\RequestFormatCacheContext
  103. arguments: ['@request_stack']
  104. tags:
  105. - { name: cache.context }
  106. cache_context.url:
  107. class: Drupal\Core\Cache\Context\UrlCacheContext
  108. arguments: ['@request_stack']
  109. tags:
  110. - { name: cache.context }
  111. cache_context.url.site:
  112. class: Drupal\Core\Cache\Context\SiteCacheContext
  113. arguments: ['@request_stack']
  114. tags:
  115. - { name: cache.context }
  116. cache_context.url.path:
  117. class: Drupal\Core\Cache\Context\PathCacheContext
  118. arguments: ['@request_stack']
  119. tags:
  120. - { name: cache.context }
  121. cache_context.url.path.parent:
  122. class: Drupal\Core\Cache\Context\PathParentCacheContext
  123. arguments: ['@request_stack']
  124. tags:
  125. - { name: cache.context }
  126. cache_context.url.path.is_front:
  127. class: Drupal\Core\Cache\Context\IsFrontPathCacheContext
  128. arguments: ['@path.matcher']
  129. tags:
  130. - { name: cache.context }
  131. cache_context.url.query_args:
  132. class: Drupal\Core\Cache\Context\QueryArgsCacheContext
  133. arguments: ['@request_stack']
  134. tags:
  135. - { name: cache.context }
  136. cache_context.url.query_args.pagers:
  137. class: Drupal\Core\Cache\Context\PagersCacheContext
  138. arguments: ['@pager.parameters']
  139. tags:
  140. - { name: cache.context }
  141. # Complex cache contexts, that depend on the routing system.
  142. cache_context.route:
  143. class: Drupal\Core\Cache\Context\RouteCacheContext
  144. arguments: ['@current_route_match']
  145. tags:
  146. - { name: cache.context }
  147. cache_context.route.name:
  148. class: Drupal\Core\Cache\Context\RouteNameCacheContext
  149. arguments: ['@current_route_match']
  150. tags:
  151. - { name: cache.context }
  152. cache_context.route.menu_active_trails:
  153. class: Drupal\Core\Cache\Context\MenuActiveTrailsCacheContext
  154. arguments: ['@menu.active_trail']
  155. tags:
  156. - { name: cache.context }
  157. # Complex cache contexts, that may be calculated from a combination of
  158. # multiple aspects of the request context plus additional logic. Hence they
  159. # are their own roots.
  160. cache_context.user:
  161. class: Drupal\Core\Cache\Context\UserCacheContext
  162. arguments: ['@current_user']
  163. tags:
  164. - { name: cache.context}
  165. cache_context.user.permissions:
  166. class: Drupal\Core\Cache\Context\AccountPermissionsCacheContext
  167. arguments: ['@current_user', '@user_permissions_hash_generator']
  168. tags:
  169. - { name: cache.context}
  170. cache_context.user.roles:
  171. class: Drupal\Core\Cache\Context\UserRolesCacheContext
  172. arguments: ['@current_user']
  173. tags:
  174. - { name: cache.context}
  175. cache_context.user.is_super_user:
  176. class: Drupal\Core\Cache\Context\IsSuperUserCacheContext
  177. arguments: ['@current_user']
  178. tags:
  179. - { name: cache.context}
  180. cache_context.languages:
  181. class: Drupal\Core\Cache\Context\LanguagesCacheContext
  182. arguments: ['@language_manager']
  183. tags:
  184. - { name: cache.context}
  185. cache_context.theme:
  186. class: Drupal\Core\Cache\Context\ThemeCacheContext
  187. arguments: ['@theme.manager']
  188. tags:
  189. - { name: cache.context}
  190. cache_context.timezone:
  191. class: Drupal\Core\Cache\Context\TimeZoneCacheContext
  192. tags:
  193. - { name: cache.context}
  194. cache_factory:
  195. class: Drupal\Core\Cache\CacheFactory
  196. arguments: ['@settings', '%cache_default_bin_backends%', '%memory_cache_default_bin_backends%']
  197. calls:
  198. - [setContainer, ['@service_container']]
  199. Drupal\Core\Cache\CacheFactoryInterface: '@cache_factory'
  200. variation_cache_factory:
  201. class: Drupal\Core\Cache\VariationCacheFactory
  202. arguments: ['@request_stack', '@cache_factory', '@cache_contexts_manager']
  203. Drupal\Core\Cache\VariationCacheFactory: '@variation_cache_factory'
  204. cache_contexts_manager:
  205. class: Drupal\Core\Cache\Context\CacheContextsManager
  206. arguments: ['@service_container', '%cache_contexts%' ]
  207. Drupal\Core\Cache\Context\CacheContextsManager: '@cache_contexts_manager'
  208. cache_tags.invalidator:
  209. class: Drupal\Core\Cache\CacheTagsInvalidator
  210. tags:
  211. - { name: service_collector, call: addInvalidator, tag: cache_tags_invalidator }
  212. - { name: service_collector, call: addBin, tag: cache.bin }
  213. - { name: service_collector, call: addBin, tag: cache.bin.memory }
  214. Drupal\Core\Cache\CacheTagsInvalidatorInterface: '@cache_tags.invalidator'
  215. cache_tags.invalidator.checksum:
  216. class: Drupal\Core\Cache\DatabaseCacheTagsChecksum
  217. arguments: ['@database']
  218. tags:
  219. - { name: cache_tags_invalidator}
  220. - { name: backend_overridable }
  221. Drupal\Core\Cache\CacheTagsChecksumInterface: '@cache_tags.invalidator.checksum'
  222. cache.backend.chainedfast:
  223. class: Drupal\Core\Cache\ChainedFastBackendFactory
  224. arguments: ['@settings']
  225. calls:
  226. - [setContainer, ['@service_container']]
  227. cache.backend.database:
  228. class: Drupal\Core\Cache\DatabaseBackendFactory
  229. arguments: ['@database', '@cache_tags.invalidator.checksum', '@settings', '@serialization.phpserialize', '@datetime.time']
  230. tags:
  231. - { name: backend_overridable }
  232. cache.backend.apcu:
  233. class: Drupal\Core\Cache\ApcuBackendFactory
  234. arguments: ['%app.root%', '%site.path%', '@cache_tags.invalidator.checksum', '@datetime.time']
  235. cache.backend.php:
  236. class: Drupal\Core\Cache\PhpBackendFactory
  237. arguments: ['@cache_tags.invalidator.checksum', '@datetime.time']
  238. cache.backend.memory:
  239. class: Drupal\Core\Cache\MemoryBackendFactory
  240. arguments: ['@datetime.time']
  241. cache.backend.memory.memory:
  242. class: Drupal\Core\Cache\MemoryCache\MemoryCacheFactory
  243. arguments: ['@datetime.time']
  244. # A special cache bin that does not persist beyond the length of the request.
  245. cache.static:
  246. class: Drupal\Core\Cache\CacheBackendInterface
  247. tags:
  248. - { name: cache.bin, default_backend: cache.backend.memory }
  249. factory: ['@cache_factory', 'get']
  250. arguments: [static]
  251. cache.bootstrap:
  252. class: Drupal\Core\Cache\CacheBackendInterface
  253. tags:
  254. - { name: cache.bin, default_backend: cache.backend.chainedfast }
  255. factory: ['@cache_factory', 'get']
  256. arguments: [bootstrap]
  257. cache.config:
  258. class: Drupal\Core\Cache\CacheBackendInterface
  259. tags:
  260. - { name: cache.bin, default_backend: cache.backend.chainedfast }
  261. factory: ['@cache_factory', 'get']
  262. arguments: [config]
  263. cache.default:
  264. class: Drupal\Core\Cache\CacheBackendInterface
  265. tags:
  266. - { name: cache.bin }
  267. factory: ['@cache_factory', 'get']
  268. arguments: [default]
  269. cache.entity:
  270. class: Drupal\Core\Cache\CacheBackendInterface
  271. tags:
  272. - { name: cache.bin }
  273. factory: ['@cache_factory', 'get']
  274. arguments: [entity]
  275. cache.menu:
  276. class: Drupal\Core\Cache\CacheBackendInterface
  277. tags:
  278. - { name: cache.bin }
  279. factory: ['@cache_factory', 'get']
  280. arguments: [menu]
  281. cache.render:
  282. class: Drupal\Core\Cache\CacheBackendInterface
  283. tags:
  284. - { name: cache.bin }
  285. factory: ['@cache_factory', 'get']
  286. arguments: [render]
  287. cache.access_policy:
  288. class: Drupal\Core\Cache\CacheBackendInterface
  289. tags:
  290. - { name: cache.bin }
  291. factory: ['@cache_factory', 'get']
  292. arguments: [access_policy]
  293. cache.access_policy_memory:
  294. class: Drupal\Core\Cache\CacheBackendInterface
  295. tags:
  296. - { name: cache.bin.memory, default_backend: cache.backend.memory.memory }
  297. factory: ['@cache_factory', 'get']
  298. arguments: [access_policy_memory]
  299. cache.data:
  300. class: Drupal\Core\Cache\CacheBackendInterface
  301. tags:
  302. - { name: cache.bin }
  303. factory: ['@cache_factory', 'get']
  304. arguments: [data]
  305. cache.discovery:
  306. class: Drupal\Core\Cache\CacheBackendInterface
  307. tags:
  308. - { name: cache.bin, default_backend: cache.backend.chainedfast }
  309. factory: ['@cache_factory', 'get']
  310. arguments: [discovery]
  311. variation_cache.access_policy:
  312. class: Drupal\Core\Cache\VariationCacheInterface
  313. factory: ['@variation_cache_factory', 'get']
  314. arguments: [access_policy]
  315. variation_cache.access_policy_memory:
  316. class: Drupal\Core\Cache\VariationCacheInterface
  317. factory: ['@variation_cache_factory', 'get']
  318. arguments: [access_policy_memory]
  319. Drupal\Core\Asset\AssetQueryStringInterface: '@asset.query_string'
  320. asset.query_string:
  321. class: Drupal\Core\Asset\AssetQueryString
  322. arguments:
  323. - '@state'
  324. - '@datetime.time'
  325. cache_router_rebuild_subscriber:
  326. class: Drupal\Core\EventSubscriber\CacheRouterRebuildSubscriber
  327. page_cache_request_policy:
  328. class: Drupal\Core\PageCache\DefaultRequestPolicy
  329. arguments: ['@session_configuration']
  330. tags:
  331. - { name: service_collector, tag: page_cache_request_policy, call: addPolicy}
  332. Drupal\Core\PageCache\RequestPolicyInterface: '@page_cache_request_policy'
  333. page_cache_response_policy:
  334. class: Drupal\Core\PageCache\ChainResponsePolicy
  335. tags:
  336. - { name: service_collector, tag: page_cache_response_policy, call: addPolicy}
  337. lazy: true
  338. Drupal\Core\PageCache\ResponsePolicyInterface: '@page_cache_response_policy'
  339. page_cache_kill_switch:
  340. class: Drupal\Core\PageCache\ResponsePolicy\KillSwitch
  341. tags:
  342. - { name: page_cache_response_policy }
  343. - { name: dynamic_page_cache_response_policy }
  344. Drupal\Core\PageCache\ResponsePolicy\KillSwitch: '@page_cache_kill_switch'
  345. page_cache_no_cache_routes:
  346. class: Drupal\Core\PageCache\ResponsePolicy\DenyNoCacheRoutes
  347. arguments: ['@current_route_match']
  348. public: false
  349. tags:
  350. - { name: page_cache_response_policy }
  351. - { name: dynamic_page_cache_response_policy }
  352. page_cache_no_server_error:
  353. class: Drupal\Core\PageCache\ResponsePolicy\NoServerError
  354. public: false
  355. tags:
  356. - { name: page_cache_response_policy }
  357. - { name: dynamic_page_cache_response_policy }
  358. config.manager:
  359. class: Drupal\Core\Config\ConfigManager
  360. arguments: ['@entity_type.manager', '@config.factory', '@config.typed', '@string_translation', '@config.storage', '@event_dispatcher', '@entity.repository', '@extension.path.resolver']
  361. Drupal\Core\Config\ConfigManagerInterface: '@config.manager'
  362. config.factory:
  363. class: Drupal\Core\Config\ConfigFactory
  364. tags:
  365. - { name: service_collector, tag: 'config.factory.override', call: addOverride }
  366. arguments: ['@config.storage', '@event_dispatcher', '@config.typed']
  367. Drupal\Core\Config\ConfigFactoryInterface: '@config.factory'
  368. config.importer_subscriber:
  369. class: Drupal\Core\Config\Importer\FinalMissingContentSubscriber
  370. config.installer:
  371. class: Drupal\Core\Config\ConfigInstaller
  372. arguments: ['@config.factory', '@config.storage', '@config.typed', '@config.manager', '@event_dispatcher', '%install_profile%', '@extension.path.resolver']
  373. lazy: true
  374. Drupal\Core\Config\ConfigInstallerInterface: '@config.installer'
  375. config.storage:
  376. class: Drupal\Core\Config\CachedStorage
  377. arguments: ['@config.storage.active', '@cache.config']
  378. Drupal\Core\Config\StorageCacheInterface: '@config.storage'
  379. config.storage.active:
  380. class: Drupal\Core\Config\DatabaseStorage
  381. arguments: ['@database', 'config']
  382. public: false
  383. tags:
  384. - { name: backend_overridable }
  385. config.import_transformer:
  386. class: Drupal\Core\Config\ImportStorageTransformer
  387. arguments: ['@event_dispatcher', '@database', '@lock', '@lock.persistent']
  388. Drupal\Core\Config\ImportStorageTransformer: '@config.import_transformer'
  389. config.storage.export:
  390. class: Drupal\Core\Config\ManagedStorage
  391. arguments: ['@config.storage.export.manager']
  392. config.storage.export.manager:
  393. class: Drupal\Core\Config\ExportStorageManager
  394. arguments: ['@config.storage', '@database', '@event_dispatcher', '@lock']
  395. public: false
  396. Drupal\Core\Config\StorageManagerInterface: '@config.storage.export.manager'
  397. config.storage.sync:
  398. class: Drupal\Core\Config\FileStorage
  399. factory: Drupal\Core\Config\FileStorageFactory::getSync
  400. config.storage.snapshot:
  401. class: Drupal\Core\Config\DatabaseStorage
  402. arguments: ['@database', config_snapshot]
  403. tags:
  404. - { name: backend_overridable }
  405. config.storage.schema:
  406. class: Drupal\Core\Config\ExtensionInstallStorage
  407. arguments: ['@config.storage', 'config/schema', '', true, '%install_profile%']
  408. config.typed:
  409. class: Drupal\Core\Config\TypedConfigManager
  410. arguments: ['@config.storage', '@config.storage.schema', '@cache.discovery', '@module_handler', '@class_resolver']
  411. tags:
  412. - { name: plugin_manager_cache_clear }
  413. calls:
  414. - [setValidationConstraintManager, ['@validation.constraint']]
  415. Drupal\Core\Config\TypedConfigManagerInterface: '@config.typed'
  416. context.handler:
  417. class: Drupal\Core\Plugin\Context\ContextHandler
  418. Drupal\Core\Plugin\Context\ContextHandlerInterface: '@context.handler'
  419. context.repository:
  420. class: Drupal\Core\Plugin\Context\LazyContextRepository
  421. arguments: ['@service_container']
  422. tags:
  423. - { name: service_id_collector, tag: context_provider }
  424. Drupal\Core\Plugin\Context\ContextRepositoryInterface: '@context.repository'
  425. Drupal\Component\DependencyInjection\ReverseContainer:
  426. arguments: [ '@service_container' ]
  427. cron:
  428. class: Drupal\Core\Cron
  429. arguments: ['@module_handler', '@lock', '@queue', '@state', '@account_switcher', '@logger.channel.cron', '@plugin.manager.queue_worker', '@datetime.time', '%queue.config%']
  430. lazy: true
  431. Drupal\Core\CronInterface: '@cron'
  432. diff.formatter:
  433. class: Drupal\Core\Diff\DiffFormatter
  434. arguments: ['@config.factory']
  435. Drupal\Core\Diff\DiffFormatter: '@diff.formatter'
  436. database:
  437. class: Drupal\Core\Database\Connection
  438. factory: Drupal\Core\Database\Database::getConnection
  439. arguments: [default]
  440. Drupal\Core\Database\Connection: '@database'
  441. database.replica:
  442. class: Drupal\Core\Database\Connection
  443. factory: Drupal\Core\Database\Database::getConnection
  444. arguments: [replica]
  445. database.replica_kill_switch:
  446. class: Drupal\Core\Database\ReplicaKillSwitch
  447. arguments: ['@settings', '@datetime.time', '@session']
  448. Drupal\Core\Database\ReplicaKillSwitch: '@database.replica_kill_switch'
  449. Drupal\Core\Database\EventSubscriber\StatementExecutionSubscriber: ~
  450. datetime.time:
  451. class: Drupal\Component\Datetime\Time
  452. arguments: ['@request_stack']
  453. Drupal\Component\Datetime\TimeInterface: '@datetime.time'
  454. file_system:
  455. class: Drupal\Core\File\FileSystem
  456. arguments: ['@stream_wrapper_manager', '@settings']
  457. Drupal\Core\File\FileSystemInterface: '@file_system'
  458. file_url_generator:
  459. class: Drupal\Core\File\FileUrlGenerator
  460. arguments: ['@stream_wrapper_manager', '@request_stack', '@module_handler']
  461. Drupal\Core\File\FileUrlGeneratorInterface: '@file_url_generator'
  462. form_builder:
  463. class: Drupal\Core\Form\FormBuilder
  464. arguments: ['@form_validator', '@form_submitter', '@form_cache', '@module_handler', '@event_dispatcher', '@request_stack', '@class_resolver', '@element_info', '@theme.manager', '@?csrf_token']
  465. Drupal\Core\Form\FormBuilderInterface: '@form_builder'
  466. form_validator:
  467. class: Drupal\Core\Form\FormValidator
  468. arguments: ['@request_stack', '@string_translation', '@csrf_token', '@logger.channel.form', '@form_error_handler']
  469. Drupal\Core\Form\FormValidatorInterface: '@form_validator'
  470. form_submitter:
  471. class: Drupal\Core\Form\FormSubmitter
  472. arguments: ['@request_stack', '@url_generator', '@redirect_response_subscriber']
  473. Drupal\Core\Form\FormSubmitterInterface: '@form_submitter'
  474. form_error_handler:
  475. class: Drupal\Core\Form\FormErrorHandler
  476. Drupal\Core\Form\FormErrorHandlerInterface: '@form_error_handler'
  477. form_cache:
  478. class: Drupal\Core\Form\FormCache
  479. arguments: ['%app.root%', '@keyvalue.expirable', '@module_handler', '@current_user', '@csrf_token', '@logger.channel.form', '@request_stack', '@page_cache_request_policy']
  480. public: false # Private to form_builder
  481. Drupal\Core\Form\FormCacheInterface: '@form_cache'
  482. keyvalue:
  483. class: Drupal\Core\KeyValueStore\KeyValueFactory
  484. arguments: ['@service_container', '%factory.keyvalue%']
  485. keyvalue.database:
  486. class: Drupal\Core\KeyValueStore\KeyValueDatabaseFactory
  487. arguments: ['@serialization.phpserialize', '@database']
  488. keyvalue.expirable:
  489. class: Drupal\Core\KeyValueStore\KeyValueExpirableFactory
  490. arguments: ['@service_container', '%factory.keyvalue.expirable%']
  491. keyvalue.expirable.database:
  492. class: Drupal\Core\KeyValueStore\KeyValueDatabaseExpirableFactory
  493. arguments: ['@serialization.phpserialize', '@database', '@datetime.time']
  494. logger.factory:
  495. class: Drupal\Core\Logger\LoggerChannelFactory
  496. arguments: ['@request_stack', '@current_user']
  497. tags:
  498. - { name: service_collector, tag: logger, call: addLogger }
  499. Drupal\Core\Logger\LoggerChannelFactoryInterface: '@logger.factory'
  500. logger.channel_base:
  501. abstract: true
  502. class: Drupal\Core\Logger\LoggerChannel
  503. factory: ['@logger.factory', 'get']
  504. logger.channel.default:
  505. parent: logger.channel_base
  506. arguments: ['system']
  507. logger.channel.php:
  508. parent: logger.channel_base
  509. arguments: ['php']
  510. logger.channel.image:
  511. parent: logger.channel_base
  512. arguments: ['image']
  513. logger.channel.cron:
  514. parent: logger.channel_base
  515. arguments: ['cron']
  516. logger.channel.file:
  517. class: Drupal\Core\Logger\LoggerChannel
  518. factory: ['@logger.factory', 'get']
  519. arguments: ['file']
  520. logger.channel.form:
  521. parent: logger.channel_base
  522. arguments: ['form']
  523. logger.channel.security:
  524. parent: logger.channel_base
  525. arguments: ['security']
  526. logger.channel.mail:
  527. parent: logger.channel_base
  528. arguments: ['mail']
  529. logger.channel.menu:
  530. parent: logger.channel_base
  531. arguments: ['menu']
  532. logger.channel.router:
  533. parent: logger.channel_base
  534. arguments: ['router']
  535. logger.log_message_parser:
  536. class: Drupal\Core\Logger\LogMessageParser
  537. Drupal\Core\Logger\LogMessageParserInterface: '@logger.log_message_parser'
  538. serialization.json:
  539. class: Drupal\Component\Serialization\Json
  540. serialization.phpserialize:
  541. class: Drupal\Component\Serialization\PhpSerialize
  542. Drupal\Component\Serialization\ObjectAwareSerializationInterface: '@serialization.phpserialize'
  543. serialization.yaml:
  544. class: Drupal\Component\Serialization\Yaml
  545. settings:
  546. class: Drupal\Core\Site\Settings
  547. factory: Drupal\Core\Site\Settings::getInstance
  548. Drupal\Core\Site\Settings: '@settings'
  549. state:
  550. class: Drupal\Core\State\State
  551. arguments: ['@keyvalue', '@cache.bootstrap', '@lock']
  552. tags:
  553. - { name: needs_destruction }
  554. Drupal\Core\State\StateInterface: '@state'
  555. queue:
  556. class: Drupal\Core\Queue\QueueFactory
  557. arguments: ['@settings']
  558. calls:
  559. - [setContainer, ['@service_container']]
  560. Drupal\Core\Queue\QueueFactory: '@queue'
  561. queue.database:
  562. class: Drupal\Core\Queue\QueueDatabaseFactory
  563. arguments: ['@database']
  564. Drupal\Core\Queue\QueueDatabaseFactory: '@queue.database'
  565. path.current:
  566. class: Drupal\Core\Path\CurrentPathStack
  567. arguments: ['@request_stack']
  568. Drupal\Core\Path\CurrentPathStack: '@path.current'
  569. http_handler_stack:
  570. class: GuzzleHttp\HandlerStack
  571. public: false
  572. factory: GuzzleHttp\HandlerStack::create
  573. configurator: ['@http_handler_stack_configurator', configure]
  574. GuzzleHttp\HandlerStack: '@http_handler_stack'
  575. http_handler_stack_configurator:
  576. class: Drupal\Core\Http\HandlerStackConfigurator
  577. public: false
  578. arguments: ['@service_container']
  579. tags:
  580. - { name: service_id_collector, tag: http_client_middleware }
  581. Drupal\Core\Http\HandlerStackConfigurator: '@http_handler_stack_configurator'
  582. http_client:
  583. class: GuzzleHttp\Client
  584. factory: ['@http_client_factory', 'fromOptions']
  585. GuzzleHttp\ClientInterface: '@http_client'
  586. Psr\Http\Client\ClientInterface: '@http_client'
  587. http_client_factory:
  588. class: Drupal\Core\Http\ClientFactory
  589. arguments: ['@http_handler_stack']
  590. Drupal\Core\Http\ClientFactory: '@http_client_factory'
  591. plugin.manager.link_relation_type:
  592. class: \Drupal\Core\Http\LinkRelationTypeManager
  593. arguments: ['%app.root%', '@module_handler', '@cache.discovery']
  594. theme.negotiator:
  595. class: Drupal\Core\Theme\ThemeNegotiator
  596. arguments: ['@access_check.theme', '@class_resolver']
  597. tags:
  598. - { name: service_id_collector, tag: theme_negotiator }
  599. Drupal\Core\Theme\ThemeNegotiatorInterface: '@theme.negotiator'
  600. theme.negotiator.default:
  601. class: Drupal\Core\Theme\DefaultNegotiator
  602. arguments: ['@config.factory']
  603. tags:
  604. - { name: theme_negotiator, priority: -100 }
  605. theme.negotiator.ajax_base_page:
  606. class: Drupal\Core\Theme\AjaxBasePageNegotiator
  607. arguments: ['@csrf_token', '@config.factory', '@request_stack']
  608. tags:
  609. - { name: theme_negotiator, priority: 1000 }
  610. container.namespaces:
  611. class: ArrayObject
  612. arguments: [ '%container.namespaces%' ]
  613. container.trait:
  614. abstract: true
  615. calls:
  616. - [setContainer, ['@service_container']]
  617. default_plugin_manager:
  618. abstract: true
  619. arguments: ['@container.namespaces', '@cache.discovery', '@module_handler']
  620. module_handler:
  621. class: Drupal\Core\Extension\ModuleHandler
  622. arguments: ['%app.root%', '%container.modules%', '@cache.bootstrap']
  623. tags:
  624. - { name: needs_destruction }
  625. Drupal\Core\Extension\ModuleHandlerInterface: '@module_handler'
  626. module_installer:
  627. class: Drupal\Core\Extension\ModuleInstaller
  628. tags:
  629. - { name: service_collector, tag: 'module_install.uninstall_validator', call: addUninstallValidator }
  630. arguments: ['%app.root%', '@module_handler', '@kernel', '@database', '@update.update_hook_registry', '@logger.channel.default']
  631. lazy: true
  632. Drupal\Core\Extension\ModuleInstallerInterface: '@module_installer'
  633. extension.list.module:
  634. class: Drupal\Core\Extension\ModuleExtensionList
  635. arguments: ['%app.root%', 'module', '@cache.default', '@info_parser', '@module_handler', '@state', '@config.factory', '@extension.list.profile', '%install_profile%', '%container.modules%']
  636. Drupal\Core\Extension\ModuleExtensionList: '@extension.list.module'
  637. extension.list.profile:
  638. class: Drupal\Core\Extension\ProfileExtensionList
  639. arguments: ['%app.root%', 'profile', '@cache.default', '@info_parser', '@module_handler', '@state', '%install_profile%']
  640. Drupal\Core\Extension\ProfileExtensionList: '@extension.list.profile'
  641. extension.list.theme:
  642. class: Drupal\Core\Extension\ThemeExtensionList
  643. arguments: ['%app.root%', 'theme', '@cache.default', '@info_parser', '@module_handler', '@state', '@config.factory', '@extension.list.theme_engine', '%install_profile%']
  644. Drupal\Core\Extension\ThemeExtensionList: '@extension.list.theme'
  645. extension.list.theme_engine:
  646. class: Drupal\Core\Extension\ThemeEngineExtensionList
  647. arguments: ['%app.root%', 'theme_engine', '@cache.default', '@info_parser', '@module_handler', '@state', '%install_profile%']
  648. Drupal\Core\Extension\ThemeEngineExtensionList: '@extension.list.theme_engine'
  649. extension.list.database_driver:
  650. class: Drupal\Core\Extension\DatabaseDriverList
  651. arguments: ['%app.root%', 'database_driver', '@cache.default']
  652. Drupal\Core\Extension\DatabaseDriverList: '@extension.list.database_driver'
  653. extension.path.resolver:
  654. class: Drupal\Core\Extension\ExtensionPathResolver
  655. arguments: ['@extension.list.module', '@extension.list.profile', '@extension.list.theme', '@extension.list.theme_engine']
  656. Drupal\Core\Extension\ExtensionPathResolver: '@extension.path.resolver'
  657. content_uninstall_validator:
  658. class: Drupal\Core\Entity\ContentUninstallValidator
  659. tags:
  660. - { name: module_install.uninstall_validator }
  661. arguments: ['@entity_type.manager', '@string_translation']
  662. lazy: true
  663. required_module_uninstall_validator:
  664. class: Drupal\Core\Extension\RequiredModuleUninstallValidator
  665. tags:
  666. - { name: module_install.uninstall_validator }
  667. arguments: ['@string_translation', '@extension.list.module']
  668. lazy: true
  669. module_required_by_themes_uninstall_validator:
  670. class: Drupal\Core\Extension\ModuleRequiredByThemesUninstallValidator
  671. tags:
  672. - { name: module_install.uninstall_validator }
  673. arguments: ['@string_translation', '@extension.list.module', '@extension.list.theme']
  674. lazy: true
  675. database_driver_uninstall_validator:
  676. class: Drupal\Core\Extension\DatabaseDriverUninstallValidator
  677. tags:
  678. - { name: module_install.uninstall_validator }
  679. arguments: ['@string_translation', '@extension.list.module', '@database']
  680. lazy: true
  681. install_profile_uninstall_validator:
  682. class: Drupal\Core\Extension\InstallProfileUninstallValidator
  683. tags:
  684. - { name: module_install.uninstall_validator }
  685. arguments: ['@string_translation', '@extension.list.module', '@extension.list.theme', '%install_profile%', '%app.root%', '%site.path%']
  686. lazy: true
  687. theme_handler:
  688. class: Drupal\Core\Extension\ThemeHandler
  689. arguments: ['%app.root%', '@config.factory', '@extension.list.theme']
  690. Drupal\Core\Extension\ThemeHandlerInterface: '@theme_handler'
  691. theme_installer:
  692. class: Drupal\Core\Extension\ThemeInstaller
  693. arguments: ['@theme_handler', '@config.factory', '@config.installer', '@module_handler', '@config.manager', '@asset.css.collection_optimizer', '@router.builder', '@logger.channel.default', '@state', '@extension.list.module', '@theme.registry', '@extension.list.theme']
  694. Drupal\Core\Extension\ThemeInstallerInterface: '@theme_installer'
  695. entity.memory_cache:
  696. class: Drupal\Core\Cache\MemoryCache\MemoryCache
  697. arguments: ['@datetime.time']
  698. Drupal\Core\Cache\MemoryCache\MemoryCacheInterface: '@entity.memory_cache'
  699. entity_type.manager:
  700. class: Drupal\Core\Entity\EntityTypeManager
  701. arguments: ['@container.namespaces', '@module_handler', '@cache.discovery', '@string_translation', '@class_resolver', '@entity.last_installed_schema.repository', '@service_container']
  702. tags:
  703. - { name: plugin_manager_cache_clear }
  704. Drupal\Core\Entity\EntityTypeManagerInterface: '@entity_type.manager'
  705. entity_type.repository:
  706. class: Drupal\Core\Entity\EntityTypeRepository
  707. arguments: ['@entity_type.manager', '@entity_type.bundle.info']
  708. Drupal\Core\Entity\EntityTypeRepositoryInterface: '@entity_type.repository'
  709. entity_type.bundle.info:
  710. class: Drupal\Core\Entity\EntityTypeBundleInfo
  711. arguments: ['@entity_type.manager', '@language_manager', '@module_handler', '@typed_data_manager', '@cache.discovery']
  712. Drupal\Core\Entity\EntityTypeBundleInfoInterface: '@entity_type.bundle.info'
  713. entity.repository:
  714. class: Drupal\Core\Entity\EntityRepository
  715. arguments: ['@entity_type.manager', '@language_manager', '@context.repository']
  716. Drupal\Core\Entity\EntityRepositoryInterface: '@entity.repository'
  717. entity_display.repository:
  718. class: Drupal\Core\Entity\EntityDisplayRepository
  719. arguments: ['@entity_type.manager', '@module_handler', '@cache.discovery', '@language_manager']
  720. Drupal\Core\Entity\EntityDisplayRepositoryInterface: '@entity_display.repository'
  721. entity_field.manager:
  722. class: Drupal\Core\Entity\EntityFieldManager
  723. arguments: ['@entity_type.manager', '@entity_type.bundle.info', '@entity_display.repository', '@typed_data_manager', '@language_manager', '@keyvalue', '@module_handler', '@cache.discovery', '@entity.last_installed_schema.repository']
  724. Drupal\Core\Entity\EntityFieldManagerInterface: '@entity_field.manager'
  725. entity_type.listener:
  726. class: Drupal\Core\Entity\EntityTypeListener
  727. arguments: ['@entity_type.manager', '@entity_field.manager', '@event_dispatcher', '@entity.last_installed_schema.repository']
  728. Drupal\Core\Entity\EntityTypeListenerInterface: '@entity_type.listener'
  729. entity_bundle.listener:
  730. class: Drupal\Core\Entity\EntityBundleListener
  731. arguments: ['@entity_type.manager', '@entity_type.bundle.info', '@entity_field.manager', '@module_handler']
  732. Drupal\Core\Entity\EntityBundleListenerInterface: '@entity_bundle.listener'
  733. entity_route_subscriber:
  734. class: Drupal\Core\EventSubscriber\EntityRouteProviderSubscriber
  735. arguments: ['@entity_type.manager']
  736. entity.definition_update_manager:
  737. class: Drupal\Core\Entity\EntityDefinitionUpdateManager
  738. arguments: ['@entity_type.manager', '@entity.last_installed_schema.repository', '@entity_field.manager', '@entity_type.listener', '@field_storage_definition.listener']
  739. Drupal\Core\Entity\EntityDefinitionUpdateManagerInterface: '@entity.definition_update_manager'
  740. entity.last_installed_schema.repository:
  741. class: Drupal\Core\Entity\EntityLastInstalledSchemaRepository
  742. arguments: ['@keyvalue', '@cache.discovery']
  743. Drupal\Core\Entity\EntityLastInstalledSchemaRepositoryInterface: '@entity.last_installed_schema.repository'
  744. entity_field.deleted_fields_repository:
  745. class: Drupal\Core\Field\DeletedFieldsRepository
  746. arguments: ['@state']
  747. Drupal\Core\Field\DeletedFieldsRepositoryInterface: '@entity_field.deleted_fields_repository'
  748. field_storage_definition.listener:
  749. class: Drupal\Core\Field\FieldStorageDefinitionListener
  750. arguments: ['@entity_type.manager', '@event_dispatcher', '@entity.last_installed_schema.repository', '@entity_field.manager', '@entity_field.deleted_fields_repository']
  751. Drupal\Core\Field\FieldStorageDefinitionListenerInterface: '@field_storage_definition.listener'
  752. field_definition.listener:
  753. class: Drupal\Core\Field\FieldDefinitionListener
  754. arguments: ['@entity_type.manager', '@entity_field.manager', '@keyvalue', '@cache.discovery']
  755. Drupal\Core\Field\FieldDefinitionListenerInterface: '@field_definition.listener'
  756. entity.form_builder:
  757. class: Drupal\Core\Entity\EntityFormBuilder
  758. arguments: ['@entity_type.manager', '@form_builder']
  759. Drupal\Core\Entity\EntityFormBuilderInterface: '@entity.form_builder'
  760. entity.bundle_config_import_validator:
  761. class: Drupal\Core\Entity\Event\BundleConfigImportValidate
  762. arguments: ['@config.manager', '@entity_type.manager']
  763. entity.autocomplete_matcher:
  764. class: Drupal\Core\Entity\EntityAutocompleteMatcher
  765. arguments: ['@plugin.manager.entity_reference_selection']
  766. Drupal\Core\Entity\EntityAutocompleteMatcherInterface: '@entity.autocomplete_matcher'
  767. plugin_form.factory:
  768. class: Drupal\Core\Plugin\PluginFormFactory
  769. arguments: ['@class_resolver']
  770. Drupal\Core\Plugin\PluginFormFactoryInterface: '@plugin_form.factory'
  771. plugin.manager.entity_reference_selection:
  772. class: Drupal\Core\Entity\EntityReferenceSelection\SelectionPluginManager
  773. parent: default_plugin_manager
  774. Drupal\Core\Entity\EntityReferenceSelection\SelectionPluginManagerInterface: '@plugin.manager.entity_reference_selection'
  775. plugin.manager.block:
  776. class: Drupal\Core\Block\BlockManager
  777. parent: default_plugin_manager
  778. arguments: ['@logger.channel.default']
  779. Drupal\Core\Block\BlockManagerInterface: '@plugin.manager.block'
  780. plugin.manager.field.field_type:
  781. class: Drupal\Core\Field\FieldTypePluginManager
  782. arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@typed_data_manager', '@plugin.manager.field.field_type_category']
  783. Drupal\Core\Field\FieldTypePluginManagerInterface: '@plugin.manager.field.field_type'
  784. plugin.manager.field.field_type_category:
  785. class: \Drupal\Core\Field\FieldTypeCategoryManager
  786. arguments: [ '%app.root%', '@module_handler', '@cache.discovery' ]
  787. Drupal\Core\Field\FieldTypeCategoryManagerInterface: '@plugin.manager.field.field_type_category'
  788. plugin.manager.field.widget:
  789. class: Drupal\Core\Field\WidgetPluginManager
  790. arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@plugin.manager.field.field_type']
  791. plugin.manager.field.formatter:
  792. class: Drupal\Core\Field\FormatterPluginManager
  793. arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@plugin.manager.field.field_type']
  794. plugin.manager.archiver:
  795. class: Drupal\Core\Archiver\ArchiverManager
  796. parent: default_plugin_manager
  797. arguments: ['@file_system']
  798. plugin.manager.action:
  799. class: Drupal\Core\Action\ActionManager
  800. arguments: ['@container.namespaces', '@cache.discovery', '@module_handler']
  801. plugin.manager.menu.link:
  802. class: Drupal\Core\Menu\MenuLinkManager
  803. arguments: ['@menu.tree_storage', '@menu_link.static.overrides', '@module_handler']
  804. Drupal\Core\Menu\MenuLinkManagerInterface: '@plugin.manager.menu.link'
  805. menu.link_tree:
  806. class: Drupal\Core\Menu\MenuLinkTree
  807. arguments: ['@menu.tree_storage', '@plugin.manager.menu.link', '@router.route_provider', '@menu.active_trail', '@callable_resolver']
  808. Drupal\Core\Menu\MenuLinkTreeInterface: '@menu.link_tree'
  809. menu.default_tree_manipulators:
  810. class: Drupal\Core\Menu\DefaultMenuLinkTreeManipulators
  811. arguments: ['@access_manager', '@current_user', '@entity_type.manager', '@module_handler']
  812. Drupal\Core\Menu\DefaultMenuLinkTreeManipulators: '@menu.default_tree_manipulators'
  813. menu.active_trail:
  814. class: Drupal\Core\Menu\MenuActiveTrail
  815. arguments: ['@plugin.manager.menu.link', '@current_route_match', '@cache.menu', '@lock']
  816. tags:
  817. - { name: needs_destruction }
  818. lazy: true
  819. Drupal\Core\Menu\MenuActiveTrailInterface: '@menu.active_trail'
  820. menu.parent_form_selector:
  821. class: Drupal\Core\Menu\MenuParentFormSelector
  822. arguments: ['@menu.link_tree', '@entity_type.manager', '@string_translation']
  823. Drupal\Core\Menu\MenuParentFormSelectorInterface: '@menu.parent_form_selector'
  824. plugin.manager.menu.local_action:
  825. class: Drupal\Core\Menu\LocalActionManager
  826. arguments: ['@http_kernel.controller.argument_resolver', '@request_stack', '@current_route_match', '@router.route_provider', '@module_handler', '@cache.discovery', '@language_manager', '@access_manager', '@current_user']
  827. Drupal\Core\Menu\LocalActionManagerInterface: '@plugin.manager.menu.local_action'
  828. plugin.manager.menu.local_task:
  829. class: Drupal\Core\Menu\LocalTaskManager
  830. arguments: ['@http_kernel.controller.argument_resolver', '@request_stack', '@current_route_match', '@router.route_provider', '@module_handler', '@cache.discovery', '@language_manager', '@access_manager', '@current_user']
  831. Drupal\Core\Menu\LocalTaskManagerInterface: '@plugin.manager.menu.local_task'
  832. plugin.manager.menu.contextual_link:
  833. class: Drupal\Core\Menu\ContextualLinkManager
  834. arguments: ['@controller_resolver', '@module_handler', '@cache.discovery', '@language_manager', '@access_manager', '@current_user', '@request_stack']
  835. Drupal\Core\Menu\ContextualLinkManagerInterface: '@plugin.manager.menu.contextual_link'
  836. plugin.manager.display_variant:
  837. class: Drupal\Core\Display\VariantManager
  838. parent: default_plugin_manager
  839. plugin.manager.queue_worker:
  840. class: Drupal\Core\Queue\QueueWorkerManager
  841. parent: default_plugin_manager
  842. Drupal\Core\Queue\QueueWorkerManagerInterface: '@plugin.manager.queue_worker'
  843. plugin.cache_clearer:
  844. class: Drupal\Core\Plugin\CachedDiscoveryClearer
  845. lazy: true
  846. Drupal\Core\Plugin\CachedDiscoveryClearerInterface: '@plugin.cache_clearer'
  847. paramconverter.menu_link:
  848. class: Drupal\Core\ParamConverter\MenuLinkPluginConverter
  849. tags:
  850. - { name: paramconverter }
  851. arguments: ['@plugin.manager.menu.link']
  852. lazy: true
  853. menu.tree_storage:
  854. class: Drupal\Core\Menu\MenuTreeStorage
  855. arguments: ['@database', '@cache.menu', '@cache_tags.invalidator', 'menu_tree']
  856. public: false # Private to plugin.manager.menu.link and menu.link_tree
  857. tags:
  858. - { name: backend_overridable }
  859. Drupal\Core\Menu\MenuTreeStorageInterface: '@menu.tree_storage'
  860. menu_link.static.overrides:
  861. class: Drupal\Core\Menu\StaticMenuLinkOverrides
  862. arguments: ['@config.factory']
  863. Drupal\Core\Menu\StaticMenuLinkOverridesInterface: '@menu_link.static.overrides'
  864. request_stack:
  865. class: Symfony\Component\HttpFoundation\RequestStack
  866. tags:
  867. - { name: persist }
  868. Symfony\Component\HttpFoundation\RequestStack: '@request_stack'
  869. current_route_match:
  870. class: Drupal\Core\Routing\CurrentRouteMatch
  871. arguments: ['@request_stack']
  872. Drupal\Core\Routing\RouteMatchInterface: '@current_route_match'
  873. event_dispatcher:
  874. class: Symfony\Component\EventDispatcher\EventDispatcher
  875. Psr\EventDispatcher\EventDispatcherInterface: '@event_dispatcher'
  876. Symfony\Contracts\EventDispatcher\EventDispatcherInterface: '@event_dispatcher'
  877. controller_resolver:
  878. class: Drupal\Core\Controller\ControllerResolver
  879. arguments: ['@callable_resolver']
  880. Drupal\Core\Controller\ControllerResolverInterface: '@controller_resolver'
  881. Symfony\Component\HttpKernel\Controller\ControllerResolverInterface: '@controller_resolver'
  882. class_resolver:
  883. class: Drupal\Core\DependencyInjection\ClassResolver
  884. arguments: ['@service_container']
  885. Drupal\Core\DependencyInjection\ClassResolverInterface: '@class_resolver'
  886. callable_resolver:
  887. class: Drupal\Core\Utility\CallableResolver
  888. arguments: ['@class_resolver']
  889. Drupal\Core\Utility\CallableResolver: '@callable_resolver'
  890. title_resolver:
  891. class: Drupal\Core\Controller\TitleResolver
  892. arguments: ['@controller_resolver', '@string_translation', '@http_kernel.controller.argument_resolver']
  893. Drupal\Core\Controller\TitleResolverInterface: '@title_resolver'
  894. http_kernel:
  895. class: Drupal\Core\StackMiddleware\StackedHttpKernel
  896. Symfony\Component\HttpKernel\HttpKernelInterface: '@http_kernel'
  897. http_kernel.basic:
  898. class: Symfony\Component\HttpKernel\HttpKernel
  899. arguments: ['@event_dispatcher', '@controller_resolver', '@request_stack', '@http_kernel.controller.argument_resolver', true]
  900. http_kernel.controller.argument_resolver:
  901. class: Symfony\Component\HttpKernel\Controller\ArgumentResolver
  902. arguments: ['@http_kernel.controller.argument_metadata_factory', ['@argument_resolver.request_attribute', '@argument_resolver.request', '@argument_resolver.psr7_request', '@argument_resolver.route_match', '@argument_resolver.default']]
  903. Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface: '@http_kernel.controller.argument_resolver'
  904. http_kernel.controller.argument_metadata_factory:
  905. class: Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactory
  906. public: false
  907. Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactoryInterface: '@http_kernel.controller.argument_metadata_factory'
  908. argument_resolver.request_attribute:
  909. class: Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestAttributeValueResolver
  910. public: false
  911. argument_resolver.request:
  912. class: Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestValueResolver
  913. public: false
  914. argument_resolver.psr7_request:
  915. class: Drupal\Core\Controller\ArgumentResolver\Psr7RequestValueResolver
  916. arguments: ['@psr7.http_message_factory']
  917. public: false
  918. argument_resolver.route_match:
  919. class: Drupal\Core\Controller\ArgumentResolver\RouteMatchValueResolver
  920. public: false
  921. argument_resolver.default:
  922. class: Symfony\Component\HttpKernel\Controller\ArgumentResolver\DefaultValueResolver
  923. public: false
  924. http_middleware.content_length:
  925. class: Drupal\Core\StackMiddleware\ContentLength
  926. tags:
  927. # Must run before the page_cache and big_pipe middleware.
  928. - { name: http_middleware, priority: 140 }
  929. http_middleware.ajax_page_state:
  930. class: Drupal\Core\StackMiddleware\AjaxPageState
  931. tags:
  932. - { name: http_middleware, priority: 500 }
  933. http_middleware.negotiation:
  934. class: Drupal\Core\StackMiddleware\NegotiationMiddleware
  935. tags:
  936. - { name: http_middleware, priority: 400 }
  937. http_middleware.reverse_proxy:
  938. class: Drupal\Core\StackMiddleware\ReverseProxyMiddleware
  939. arguments: ['@settings']
  940. tags:
  941. - { name: http_middleware, priority: 300 }
  942. http_middleware.kernel_pre_handle:
  943. class: Drupal\Core\StackMiddleware\KernelPreHandle
  944. arguments: ['@kernel']
  945. tags:
  946. - { name: http_middleware, priority: 100 }
  947. http_middleware.session:
  948. class: Drupal\Core\StackMiddleware\Session
  949. autowire: true
  950. tags:
  951. - { name: http_middleware, priority: 50 }
  952. http_middleware.cors:
  953. class: Asm89\Stack\Cors
  954. arguments: ['%cors.config%']
  955. tags:
  956. - { name: http_middleware, priority: 250 }
  957. psr7.http_foundation_factory:
  958. class: Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory
  959. Symfony\Bridge\PsrHttpMessage\HttpFoundationFactoryInterface: '@psr7.http_foundation_factory'
  960. psr17.server_request_factory:
  961. class: GuzzleHttp\Psr7\HttpFactory
  962. public: false
  963. Psr\Http\Message\ServerRequestFactoryInterface: '@psr17.server_request_factory'
  964. psr17.stream_factory:
  965. class: GuzzleHttp\Psr7\HttpFactory
  966. public: false
  967. Psr\Http\Message\StreamFactoryInterface: '@psr17.stream_factory'
  968. psr17.uploaded_file_factory:
  969. class: GuzzleHttp\Psr7\HttpFactory
  970. public: false
  971. Psr\Http\Message\UploadedFileFactoryInterface: '@psr17.uploaded_file_factory'
  972. psr17.response_factory:
  973. class: GuzzleHttp\Psr7\HttpFactory
  974. public: false
  975. Psr\Http\Message\ResponseFactoryInterface: '@psr17.response_factory'
  976. psr7.http_message_factory:
  977. class: Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory
  978. arguments: ['@psr17.server_request_factory', '@psr17.stream_factory', '@psr17.uploaded_file_factory', '@psr17.response_factory']
  979. Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface: '@psr7.http_message_factory'
  980. language_manager:
  981. class: Drupal\Core\Language\LanguageManager
  982. arguments: ['@language.default']
  983. Drupal\Core\Language\LanguageManagerInterface: '@language_manager'
  984. language.current_language_context:
  985. class: Drupal\Core\Language\ContextProvider\CurrentLanguageContext
  986. arguments: ['@language_manager']
  987. tags:
  988. - { name: 'context_provider' }
  989. language.default:
  990. class: Drupal\Core\Language\LanguageDefault
  991. arguments: ['%language.default_values%']
  992. Drupal\Core\Language\LanguageDefault: '@language.default'
  993. string_translator.custom_strings:
  994. class: Drupal\Core\StringTranslation\Translator\CustomStrings
  995. arguments: ['@settings']
  996. tags:
  997. - { name: string_translator, priority: 30 }
  998. string_translation:
  999. class: Drupal\Core\StringTranslation\TranslationManager
  1000. arguments: ['@language.default']
  1001. tags:
  1002. - { name: service_collector, tag: string_translator, call: addTranslator }
  1003. Drupal\Core\StringTranslation\TranslationInterface: '@string_translation'
  1004. typed_data_manager:
  1005. class: Drupal\Core\TypedData\TypedDataManager
  1006. arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@class_resolver']
  1007. calls:
  1008. - [setValidationConstraintManager, ['@validation.constraint']]
  1009. tags:
  1010. - { name: plugin_manager_cache_clear }
  1011. Drupal\Core\TypedData\TypedDataManagerInterface: '@typed_data_manager'
  1012. validation.constraint:
  1013. class: Drupal\Core\Validation\ConstraintManager
  1014. parent: default_plugin_manager
  1015. tags:
  1016. - { name: plugin_manager_cache_clear }
  1017. validation.basic_recursive_validator_factory:
  1018. class: Drupal\Core\Validation\BasicRecursiveValidatorFactory
  1019. arguments: ['@class_resolver']
  1020. Drupal\Core\Validation\BasicRecursiveValidatorFactory: '@validation.basic_recursive_validator_factory'
  1021. lock:
  1022. class: Drupal\Core\Lock\DatabaseLockBackend
  1023. arguments: ['@database']
  1024. tags:
  1025. - { name: backend_overridable }
  1026. lazy: true
  1027. lock.persistent:
  1028. class: Drupal\Core\Lock\PersistentDatabaseLockBackend
  1029. arguments: ['@database']
  1030. tags:
  1031. - { name: backend_overridable }
  1032. lazy: true
  1033. router.request_context:
  1034. class: Drupal\Core\Routing\RequestContext
  1035. tags:
  1036. - { name: persist }
  1037. calls:
  1038. - [fromRequestStack, ['@request_stack']]
  1039. Drupal\Core\Routing\RequestContext: '@router.request_context'
  1040. router.admin_context:
  1041. class: Drupal\Core\Routing\AdminContext
  1042. arguments: ['@current_route_match']
  1043. Drupal\Core\Routing\AdminContext: '@router.admin_context'
  1044. router.route_provider:
  1045. class: Drupal\Core\Routing\RouteProvider
  1046. arguments: ['@database', '@state', '@path.current', '@cache.data', '@path_processor_manager', '@cache_tags.invalidator', 'router', '@language_manager']
  1047. tags:
  1048. - { name: backend_overridable }
  1049. Drupal\Core\Routing\RouteProviderInterface: '@router.route_provider'
  1050. router.route_provider.lazy_builder:
  1051. class: Drupal\Core\Routing\RouteProviderLazyBuilder
  1052. arguments: ['@router.route_provider', '@router.builder']
  1053. router.route_preloader:
  1054. class: Drupal\Core\Routing\RoutePreloader
  1055. arguments: ['@router.route_provider', '@state']
  1056. url_generator.non_bubbling:
  1057. class: Drupal\Core\Routing\UrlGenerator
  1058. arguments: ['@router.route_provider', '@path_processor_manager', '@route_processor_manager', '@request_stack', '%filter_protocols%']
  1059. public: false
  1060. calls:
  1061. - [setContext, ['@?router.request_context']]
  1062. url_generator:
  1063. class: Drupal\Core\Render\MetadataBubblingUrlGenerator
  1064. arguments: ['@url_generator.non_bubbling', '@renderer']
  1065. calls:
  1066. - [setContext, ['@?router.request_context']]
  1067. Drupal\Core\Routing\UrlGeneratorInterface: '@url_generator'
  1068. Symfony\Component\Routing\Generator\UrlGeneratorInterface: '@url_generator'
  1069. redirect.destination:
  1070. class: Drupal\Core\Routing\RedirectDestination
  1071. arguments: ['@request_stack', '@url_generator']
  1072. Drupal\Core\Routing\RedirectDestinationInterface: '@redirect.destination'
  1073. unrouted_url_assembler:
  1074. class: Drupal\Core\Utility\UnroutedUrlAssembler
  1075. arguments: ['@request_stack', '@path_processor_manager', '%filter_protocols%']
  1076. Drupal\Core\Utility\UnroutedUrlAssemblerInterface: '@unrouted_url_assembler'
  1077. link_generator:
  1078. class: Drupal\Core\Utility\LinkGenerator
  1079. arguments: ['@url_generator', '@module_handler', '@renderer']
  1080. Drupal\Core\Utility\LinkGeneratorInterface: '@link_generator'
  1081. router:
  1082. class: Drupal\Core\Routing\AccessAwareRouter
  1083. arguments: ['@router.no_access_checks', '@access_manager', '@current_user']
  1084. Drupal\Core\Routing\AccessAwareRouterInterface: '@router'
  1085. router.no_access_checks:
  1086. class: \Drupal\Core\Routing\Router
  1087. arguments: ['@router.route_provider', '@path.current', '@url_generator']
  1088. tags:
  1089. - { name: service_collector, tag: non_lazy_route_enhancer, call: addDeprecatedRouteEnhancer }
  1090. - { name: service_collector, tag: route_enhancer, call: addRouteEnhancer }
  1091. - { name: service_collector, tag: non_lazy_route_filter, call: addDeprecatedRouteFilter }
  1092. - { name: service_collector, tag: route_filter, call: addRouteFilter }
  1093. calls:
  1094. - [setContext, ['@router.request_context']]
  1095. router.path_roots_subscriber:
  1096. class: Drupal\Core\EventSubscriber\PathRootsSubscriber
  1097. arguments: ['@state']
  1098. entity.query.config:
  1099. class: Drupal\Core\Config\Entity\Query\QueryFactory
  1100. arguments: ['@config.factory', '@keyvalue', '@config.manager']
  1101. entity.query.sql:
  1102. class: Drupal\Core\Entity\Query\Sql\QueryFactory
  1103. arguments: ['@database']
  1104. tags:
  1105. - { name: backend_overridable }
  1106. pgsql.entity.query.sql:
  1107. class: Drupal\Core\Entity\Query\Sql\pgsql\QueryFactory
  1108. arguments: ['@database']
  1109. entity.query.null:
  1110. class: Drupal\Core\Entity\Query\Null\QueryFactory
  1111. entity.query.keyvalue:
  1112. class: Drupal\Core\Entity\KeyValueStore\Query\QueryFactory
  1113. arguments: ['@keyvalue']
  1114. router.dumper:
  1115. class: Drupal\Core\Routing\MatcherDumper
  1116. arguments: ['@database', '@state', '@logger.channel.router']
  1117. tags:
  1118. - { name: backend_overridable }
  1119. lazy: true
  1120. Drupal\Core\Routing\MatcherDumperInterface: '@router.dumper'
  1121. router.builder:
  1122. class: Drupal\Core\Routing\RouteBuilder
  1123. arguments: ['@router.dumper', '@lock', '@event_dispatcher', '@module_handler', '@controller_resolver', '@access_manager.check_provider']
  1124. lazy: true
  1125. tags:
  1126. - { name: needs_destruction }
  1127. Drupal\Core\Routing\RouteBuilderInterface: '@router.builder'
  1128. menu.rebuild_subscriber:
  1129. class: Drupal\Core\EventSubscriber\MenuRouterRebuildSubscriber
  1130. arguments: ['@lock', '@plugin.manager.menu.link', '@database', '@database.replica_kill_switch', '@logger.channel.menu']
  1131. path.matcher:
  1132. class: Drupal\Core\Path\PathMatcher
  1133. arguments: ['@config.factory', '@current_route_match']
  1134. Drupal\Core\Path\PathMatcherInterface: '@path.matcher'
  1135. path.validator:
  1136. class: Drupal\Core\Path\PathValidator
  1137. arguments: ['@router', '@router.no_access_checks', '@current_user', '@path_processor_manager']
  1138. Drupal\Core\Path\PathValidatorInterface: '@path.validator'
  1139. password:
  1140. class: Drupal\Core\Password\PhpPassword
  1141. Drupal\Core\Password\PasswordInterface: '@password'
  1142. password_generator:
  1143. class: Drupal\Core\Password\DefaultPasswordGenerator
  1144. Drupal\Core\Password\PasswordGeneratorInterface: '@password_generator'
  1145. request_format_route_filter:
  1146. class: Drupal\Core\Routing\RequestFormatRouteFilter
  1147. tags:
  1148. - { name: route_filter }
  1149. method_filter:
  1150. class: Drupal\Core\Routing\MethodFilter
  1151. tags:
  1152. # The HTTP method route filter must run very early: it removes any routes
  1153. # whose requirements do not allow the HTTP method of the current request.
  1154. # Throws a 405 if no routes match the current request's HTTP method.
  1155. # (If it runs before content_type_header_matcher, it can ensure that only
  1156. # receives routes which can have a Content-Type request header.)
  1157. - { name: route_filter, priority: 10 }
  1158. content_type_header_matcher:
  1159. class: Drupal\Core\Routing\ContentTypeHeaderMatcher
  1160. tags:
  1161. # The Content-Type request header route filter must run early: it removes
  1162. # any routes whose requirements do not allow the Content-Type request
  1163. # header of the current request.
  1164. # Throws a 415 if no routes match the Content-Type request header of the
  1165. # current request, or if it has no Content-Type request header.
  1166. # Note it does nothing for GET requests.
  1167. - { name: route_filter, priority: 5 }
  1168. paramconverter_manager:
  1169. class: Drupal\Core\ParamConverter\ParamConverterManager
  1170. tags:
  1171. - { name: service_collector, tag: paramconverter, call: addConverter }
  1172. Drupal\Core\ParamConverter\ParamConverterManagerInterface: '@paramconverter_manager'
  1173. paramconverter_subscriber:
  1174. class: Drupal\Core\EventSubscriber\ParamConverterSubscriber
  1175. arguments: ['@paramconverter_manager']
  1176. paramconverter.entity:
  1177. class: Drupal\Core\ParamConverter\EntityConverter
  1178. tags:
  1179. - { name: paramconverter }
  1180. arguments: ['@entity_type.manager', '@entity.repository']
  1181. paramconverter.entity_revision:
  1182. class: Drupal\Core\ParamConverter\EntityRevisionParamConverter
  1183. tags:
  1184. - { name: paramconverter }
  1185. arguments: ['@entity_type.manager', '@entity.repository']
  1186. paramconverter.configentity_admin:
  1187. class: Drupal\Core\ParamConverter\AdminPathConfigEntityConverter
  1188. tags:
  1189. # Use a higher priority than EntityConverter, see the class for details.
  1190. - { name: paramconverter, priority: 5 }
  1191. arguments: ['@entity_type.manager', '@config.factory', '@router.admin_context', '@entity.repository']
  1192. lazy: true
  1193. route_subscriber.module:
  1194. class: Drupal\Core\EventSubscriber\ModuleRouteSubscriber
  1195. arguments: ['@module_handler']
  1196. resolver_manager.entity:
  1197. class: Drupal\Core\Entity\EntityResolverManager
  1198. arguments: ['@entity_type.manager', '@class_resolver']
  1199. Drupal\Core\Entity\EntityResolverManager: '@resolver_manager.entity'
  1200. route_subscriber.entity:
  1201. class: Drupal\Core\EventSubscriber\EntityRouteAlterSubscriber
  1202. arguments: ['@resolver_manager.entity']
  1203. ajax_response.subscriber:
  1204. class: Drupal\Core\EventSubscriber\AjaxResponseSubscriber
  1205. autowire: true
  1206. form_ajax_subscriber:
  1207. class: Drupal\Core\Form\EventSubscriber\FormAjaxSubscriber
  1208. arguments: ['@form_ajax_response_builder', '@string_translation', '@messenger']
  1209. route_enhancer.param_conversion:
  1210. class: Drupal\Core\Routing\Enhancer\ParamConversionEnhancer
  1211. arguments: ['@paramconverter_manager']
  1212. tags:
  1213. - { name: route_enhancer, priority: 5000 }
  1214. route_enhancer.form:
  1215. class: Drupal\Core\Routing\Enhancer\FormRouteEnhancer
  1216. tags:
  1217. - { name: route_enhancer }
  1218. route_enhancer.entity:
  1219. class: Drupal\Core\Entity\Enhancer\EntityRouteEnhancer
  1220. tags:
  1221. - { name: route_enhancer, priority: 20 }
  1222. route_enhancer.entity_bundle:
  1223. class: Drupal\Core\Entity\Enhancer\EntityBundleRouteEnhancer
  1224. arguments: ['@entity_type.manager']
  1225. tags:
  1226. - { name: route_enhancer }
  1227. route_enhancer.entity_revision:
  1228. class: Drupal\Core\Routing\Enhancer\EntityRevisionRouteEnhancer
  1229. tags:
  1230. - { name: route_enhancer }
  1231. route_special_attributes_subscriber:
  1232. class: Drupal\Core\EventSubscriber\SpecialAttributesRouteSubscriber
  1233. route_http_method_subscriber:
  1234. class: Drupal\Core\EventSubscriber\RouteMethodSubscriber
  1235. psr_response_view_subscriber:
  1236. class: Drupal\Core\EventSubscriber\PsrResponseSubscriber
  1237. arguments: ['@psr7.http_foundation_factory']
  1238. # Main content view subscriber plus the renderers it uses.
  1239. main_content_view_subscriber:
  1240. class: Drupal\Core\EventSubscriber\MainContentViewSubscriber
  1241. arguments: ['@class_resolver', '@current_route_match', '%main_content_renderers%']
  1242. renderer_non_html:
  1243. class: Drupal\Core\EventSubscriber\RenderArrayNonHtmlSubscriber
  1244. main_content_renderer.html:
  1245. class: Drupal\Core\Render\MainContent\HtmlRenderer
  1246. arguments: ['@title_resolver', '@plugin.manager.display_variant', '@event_dispatcher', '@module_handler', '@renderer', '@render_cache', '%renderer.config%', '@theme.manager']
  1247. tags:
  1248. - { name: render.main_content_renderer, format: html }
  1249. main_content_renderer.ajax:
  1250. class: Drupal\Core\Render\MainContent\AjaxRenderer
  1251. arguments: ['@element_info', '@renderer']
  1252. tags:
  1253. - { name: render.main_content_renderer, format: drupal_ajax }
  1254. - { name: render.main_content_renderer, format: iframeupload }
  1255. main_content_renderer.dialog:
  1256. class: Drupal\Core\Render\MainContent\DialogRenderer
  1257. arguments: ['@title_resolver', '@renderer']
  1258. tags:
  1259. - { name: render.main_content_renderer, format: drupal_dialog }
  1260. main_content_renderer.off_canvas:
  1261. class: Drupal\Core\Render\MainContent\OffCanvasRenderer
  1262. arguments: ['@title_resolver', '@renderer']
  1263. tags:
  1264. - { name: render.main_content_renderer, format: drupal_dialog.off_canvas }
  1265. main_content_renderer.off_canvas_top:
  1266. class: Drupal\Core\Render\MainContent\OffCanvasRenderer
  1267. arguments: ['@title_resolver', '@renderer', 'top']
  1268. tags:
  1269. - { name: render.main_content_renderer, format: drupal_dialog.off_canvas_top }
  1270. main_content_renderer.modal:
  1271. class: Drupal\Core\Render\MainContent\ModalRenderer
  1272. arguments: ['@title_resolver', '@renderer']
  1273. tags:
  1274. - { name: render.main_content_renderer, format: drupal_modal }
  1275. controller.form:
  1276. class: Drupal\Core\Controller\HtmlFormController
  1277. arguments: ['@http_kernel.controller.argument_resolver', '@form_builder', '@class_resolver']
  1278. Drupal\Core\Controller\HtmlFormController: '@controller.form'
  1279. controller.entity_form:
  1280. class: Drupal\Core\Entity\HtmlEntityFormController
  1281. arguments: ['@http_kernel.controller.argument_resolver', '@form_builder', '@entity_type.manager']
  1282. Drupal\Core\Entity\HtmlEntityFormController: '@controller.entity_form'
  1283. form_ajax_response_builder:
  1284. class: Drupal\Core\Form\FormAjaxResponseBuilder
  1285. arguments: ['@main_content_renderer.ajax', '@current_route_match']
  1286. Drupal\Core\Form\FormAjaxResponseBuilderInterface: '@form_ajax_response_builder'
  1287. router_listener:
  1288. class: Symfony\Component\HttpKernel\EventListener\RouterListener
  1289. arguments: ['@router', '@request_stack', '@router.request_context', NULL]
  1290. options_request_listener:
  1291. class: Drupal\Core\EventSubscriber\OptionsRequestSubscriber
  1292. arguments: ['@router.route_provider']
  1293. bare_html_page_renderer:
  1294. class: Drupal\Core\Render\BareHtmlPageRenderer
  1295. arguments: ['@renderer', '@html_response.attachments_processor']
  1296. lazy: true
  1297. Drupal\Core\Render\BareHtmlPageRendererInterface: '@bare_html_page_renderer'
  1298. private_key:
  1299. class: Drupal\Core\PrivateKey
  1300. arguments: ['@state']
  1301. Drupal\Core\PrivateKey: '@private_key'
  1302. csrf_token:
  1303. class: Drupal\Core\Access\CsrfTokenGenerator
  1304. arguments: ['@private_key', '@session_manager.metadata_bag']
  1305. Drupal\Core\Access\CsrfTokenGenerator: '@csrf_token'
  1306. access_arguments_resolver_factory:
  1307. class: Drupal\Core\Access\AccessArgumentsResolverFactory
  1308. Drupal\Core\Access\AccessArgumentsResolverFactoryInterface: '@access_arguments_resolver_factory'
  1309. access_manager:
  1310. class: Drupal\Core\Access\AccessManager
  1311. arguments: ['@router.route_provider', '@paramconverter_manager', '@access_arguments_resolver_factory', '@current_user', '@access_manager.check_provider']
  1312. Drupal\Core\Access\AccessManagerInterface: '@access_manager'
  1313. access_manager.check_provider:
  1314. class: Drupal\Core\Access\CheckProvider
  1315. arguments: ['%dynamic_access_check_services%']
  1316. public: false
  1317. Drupal\Core\Access\CheckProviderInterface: '@access_manager.check_provider'
  1318. access_check.default:
  1319. class: Drupal\Core\Access\DefaultAccessCheck
  1320. tags:
  1321. - { name: access_check, applies_to: _access }
  1322. access_check.entity:
  1323. class: Drupal\Core\Entity\EntityAccessCheck
  1324. tags:
  1325. - { name: access_check, applies_to: _entity_access }
  1326. access_check.entity_create:
  1327. class: Drupal\Core\Entity\EntityCreateAccessCheck
  1328. arguments: ['@entity_type.manager']
  1329. tags:
  1330. - { name: access_check, applies_to: _entity_create_access }
  1331. access_check.entity_create_any:
  1332. class: Drupal\Core\Entity\EntityCreateAnyAccessCheck
  1333. arguments: ['@entity_type.manager', '@entity_type.bundle.info']
  1334. tags:
  1335. - { name: access_check, applies_to: _entity_create_any_access }
  1336. access_check.entity_delete_multiple:
  1337. class: Drupal\Core\Entity\EntityDeleteMultipleAccessCheck
  1338. arguments: ['@entity_type.manager', '@tempstore.private', '@request_stack']
  1339. tags:
  1340. - { name: access_check, applies_to: _entity_delete_multiple_access }
  1341. access_check.theme:
  1342. class: Drupal\Core\Theme\ThemeAccessCheck
  1343. arguments: ['@theme_handler']
  1344. tags:
  1345. - { name: access_check, applies_to: _access_theme }
  1346. access_check.custom:
  1347. class: Drupal\Core\Access\CustomAccessCheck
  1348. arguments: ['@callable_resolver', '@access_arguments_resolver_factory']
  1349. tags:
  1350. - { name: access_check, applies_to: _custom_access }
  1351. access_check.csrf:
  1352. class: Drupal\Core\Access\CsrfAccessCheck
  1353. tags:
  1354. - { name: access_check, applies_to: _csrf_token, needs_incoming_request: TRUE }
  1355. arguments: ['@csrf_token']
  1356. access_check.header.csrf:
  1357. class: Drupal\Core\Access\CsrfRequestHeaderAccessCheck
  1358. arguments: ['@session_configuration', '@csrf_token']
  1359. tags:
  1360. - { name: access_check, needs_incoming_request: TRUE }
  1361. maintenance_mode:
  1362. class: Drupal\Core\Site\MaintenanceMode
  1363. arguments: ['@state', '@config.factory']
  1364. Drupal\Core\Site\MaintenanceModeInterface: '@maintenance_mode'
  1365. maintenance_mode_subscriber:
  1366. class: Drupal\Core\EventSubscriber\MaintenanceModeSubscriber
  1367. arguments: ['@maintenance_mode', '@config.factory', '@string_translation', '@url_generator', '@current_user', '@bare_html_page_renderer', '@messenger', '@event_dispatcher']
  1368. route_access_response_subscriber:
  1369. class: Drupal\Core\EventSubscriber\RouteAccessResponseSubscriber
  1370. client_error_response_subscriber:
  1371. class: Drupal\Core\EventSubscriber\ClientErrorResponseSubscriber
  1372. anonymous_user_response_subscriber:
  1373. class: Drupal\Core\EventSubscriber\AnonymousUserResponseSubscriber
  1374. arguments: ['@current_user']
  1375. ajax_response.attachments_processor:
  1376. class: Drupal\Core\Ajax\AjaxResponseAttachmentsProcessor
  1377. arguments: ['@asset.resolver', '@config.factory', '@asset.css.collection_renderer', '@asset.js.collection_renderer', '@request_stack', '@renderer', '@module_handler', '@language_manager']
  1378. html_response.attachments_processor:
  1379. class: Drupal\Core\Render\HtmlResponseAttachmentsProcessor
  1380. arguments: ['@asset.resolver', '@config.factory', '@asset.css.collection_renderer', '@asset.js.collection_renderer', '@request_stack', '@renderer', '@module_handler', '@language_manager']
  1381. html_response.subscriber:
  1382. class: Drupal\Core\EventSubscriber\HtmlResponseSubscriber
  1383. arguments: ['@html_response.attachments_processor']
  1384. finish_response_subscriber:
  1385. class: Drupal\Core\EventSubscriber\FinishResponseSubscriber
  1386. arguments: ['@language_manager', '@config.factory', '@page_cache_request_policy', '@page_cache_response_policy', '@cache_contexts_manager', '@datetime.time', '%http.response.debug_cacheability_headers%']
  1387. response_generator_subscriber:
  1388. class: Drupal\Core\EventSubscriber\ResponseGeneratorSubscriber
  1389. redirect_response_subscriber:
  1390. class: Drupal\Core\EventSubscriber\RedirectResponseSubscriber
  1391. autowire: true
  1392. redirect_leading_slashes_subscriber:
  1393. class: Drupal\Core\EventSubscriber\RedirectLeadingSlashesSubscriber
  1394. config_import_subscriber:
  1395. class: Drupal\Core\EventSubscriber\ConfigImportSubscriber
  1396. tags:
  1397. - { name: service_collector, tag: 'module_install.uninstall_validator', call: addUninstallValidator }
  1398. arguments: ['@extension.list.theme', '@extension.list.module']
  1399. config_snapshot_subscriber:
  1400. class: Drupal\Core\EventSubscriber\ConfigSnapshotSubscriber
  1401. arguments: ['@config.manager', '@config.storage', '@config.storage.snapshot']
  1402. config_exclude_modules_subscriber:
  1403. class: Drupal\Core\EventSubscriber\ExcludedModulesEventSubscriber
  1404. arguments: ['@config.storage', '@settings', '@config.manager']
  1405. exception.needs_installer:
  1406. class: Drupal\Core\EventSubscriber\ExceptionDetectNeedsInstallSubscriber
  1407. arguments: ['@database']
  1408. exception.default_json:
  1409. class: Drupal\Core\EventSubscriber\ExceptionJsonSubscriber
  1410. exception.default_html:
  1411. class: Drupal\Core\EventSubscriber\DefaultExceptionHtmlSubscriber
  1412. arguments: ['@http_kernel', '@logger.channel.php', '@redirect.destination', '@router.no_access_checks']
  1413. exception.final:
  1414. class: Drupal\Core\EventSubscriber\FinalExceptionSubscriber
  1415. arguments: ['@config.factory']
  1416. exception.logger:
  1417. class: Drupal\Core\EventSubscriber\ExceptionLoggingSubscriber
  1418. arguments: ['@logger.factory']
  1419. exception.custom_page_html:
  1420. class: Drupal\Core\EventSubscriber\CustomPageExceptionHtmlSubscriber
  1421. arguments: ['@config.factory', '@http_kernel', '@logger.channel.php', '@redirect.destination', '@router.no_access_checks', '@access_manager']
  1422. exception.fast_404_html:
  1423. class: Drupal\Core\EventSubscriber\Fast404ExceptionHtmlSubscriber
  1424. arguments: ['@config.factory', '@cache_tags.invalidator']
  1425. exception.enforced_form_response:
  1426. class: Drupal\Core\EventSubscriber\EnforcedFormResponseSubscriber
  1427. route_processor_manager:
  1428. class: Drupal\Core\RouteProcessor\RouteProcessorManager
  1429. tags:
  1430. - { name: service_collector, tag: route_processor_outbound, call: addOutbound }
  1431. Drupal\Core\RouteProcessor\OutboundRouteProcessorInterface: '@route_processor_manager'
  1432. path_processor_manager:
  1433. class: Drupal\Core\PathProcessor\PathProcessorManager
  1434. tags:
  1435. - { name: service_collector, tag: path_processor_inbound, call: addInbound }
  1436. - { name: service_collector, tag: path_processor_outbound, call: addOutbound }
  1437. Drupal\Core\PathProcessor\InboundPathProcessorInterface: '@path_processor_manager'
  1438. Drupal\Core\PathProcessor\OutboundPathProcessorInterface: '@path_processor_manager'
  1439. path_processor_decode:
  1440. class: Drupal\Core\PathProcessor\PathProcessorDecode
  1441. tags:
  1442. - { name: path_processor_inbound, priority: 1000 }
  1443. path_processor_front:
  1444. class: Drupal\Core\PathProcessor\PathProcessorFront
  1445. tags:
  1446. - { name: path_processor_inbound, priority: 200 }
  1447. arguments: ['@config.factory']
  1448. route_processor_current:
  1449. class: Drupal\Core\RouteProcessor\RouteProcessorCurrent
  1450. arguments: ['@current_route_match']
  1451. tags:
  1452. - { name: route_processor_outbound, priority: 200 }
  1453. route_processor_csrf:
  1454. class: Drupal\Core\Access\RouteProcessorCsrf
  1455. tags:
  1456. - { name: route_processor_outbound }
  1457. arguments: ['@csrf_token']
  1458. transliteration:
  1459. class: Drupal\Core\Transliteration\PhpTransliteration
  1460. arguments: [null, '@module_handler']
  1461. flood:
  1462. class: Drupal\Core\Flood\DatabaseBackend
  1463. arguments: ['@database', '@request_stack', '@datetime.time']
  1464. tags:
  1465. - { name: backend_overridable }
  1466. Drupal\Core\Flood\FloodInterface: '@flood'
  1467. plugin.manager.mail:
  1468. class: Drupal\Core\Mail\MailManager
  1469. arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@config.factory', '@logger.factory', '@string_translation', '@renderer']
  1470. Drupal\Core\Mail\MailManagerInterface: '@plugin.manager.mail'
  1471. plugin.manager.condition:
  1472. class: Drupal\Core\Condition\ConditionManager
  1473. parent: default_plugin_manager
  1474. Drupal\Core\Executable\ExecutableManagerInterface: '@plugin.manager.condition'
  1475. plugin.manager.element_info:
  1476. class: Drupal\Core\Render\ElementInfoManager
  1477. arguments: ['@container.namespaces', '@cache.discovery', '@theme_handler', '@module_handler', '@theme.manager']
  1478. Drupal\Core\Render\ElementInfoManagerInterface: '@plugin.manager.element_info'
  1479. stream_wrapper_manager:
  1480. class: Drupal\Core\StreamWrapper\StreamWrapperManager
  1481. Drupal\Core\StreamWrapper\StreamWrapperManagerInterface: '@stream_wrapper_manager'
  1482. stream_wrapper.assets:
  1483. class: Drupal\Core\StreamWrapper\AssetsStream
  1484. tags:
  1485. - { name: stream_wrapper, scheme: assets }
  1486. Drupal\Core\StreamWrapper\AssetsStream: '@stream_wrapper.assets'
  1487. stream_wrapper.public:
  1488. class: Drupal\Core\StreamWrapper\PublicStream
  1489. tags:
  1490. - { name: stream_wrapper, scheme: public }
  1491. stream_wrapper.temporary:
  1492. class: Drupal\Core\StreamWrapper\TemporaryStream
  1493. tags:
  1494. - { name: stream_wrapper, scheme: temporary }
  1495. image.toolkit.manager:
  1496. class: Drupal\Core\ImageToolkit\ImageToolkitManager
  1497. arguments: ['@config.factory']
  1498. parent: default_plugin_manager
  1499. tags:
  1500. - { name: plugin_manager_cache_clear }
  1501. Drupal\Core\ImageToolkit\ImageToolkitManager: '@image.toolkit.manager'
  1502. image.toolkit.operation.manager:
  1503. class: Drupal\Core\ImageToolkit\ImageToolkitOperationManager
  1504. arguments: ['@logger.channel.image', '@image.toolkit.manager']
  1505. parent: default_plugin_manager
  1506. tags:
  1507. - { name: plugin_manager_cache_clear }
  1508. Drupal\Core\ImageToolkit\ImageToolkitOperationManagerInterface: '@image.toolkit.operation.manager'
  1509. image.factory:
  1510. class: Drupal\Core\Image\ImageFactory
  1511. arguments: ['@image.toolkit.manager']
  1512. Drupal\Core\Image\ImageFactory: '@image.factory'
  1513. breadcrumb:
  1514. class: Drupal\Core\Breadcrumb\BreadcrumbManager
  1515. arguments: ['@module_handler']
  1516. tags:
  1517. - { name: service_collector, tag: breadcrumb_builder, call: addBuilder }
  1518. Drupal\Core\Breadcrumb\ChainBreadcrumbBuilderInterface: '@breadcrumb'
  1519. token:
  1520. class: Drupal\Core\Utility\Token
  1521. arguments: ['@module_handler', '@cache.default', '@language_manager', '@cache_tags.invalidator', '@renderer']
  1522. Drupal\Core\Utility\Token: '@token'
  1523. batch.storage:
  1524. class: Drupal\Core\Batch\BatchStorage
  1525. arguments: ['@database', '@session', '@csrf_token', '@datetime.time']
  1526. tags:
  1527. - { name: backend_overridable }
  1528. lazy: true
  1529. Drupal\Core\Batch\BatchStorageInterface: '@batch.storage'
  1530. country_manager:
  1531. class: Drupal\Core\Locale\CountryManager
  1532. arguments: ['@module_handler']
  1533. Drupal\Core\Locale\CountryManagerInterface: '@country_manager'
  1534. date.formatter:
  1535. class: Drupal\Core\Datetime\DateFormatter
  1536. arguments: ['@entity_type.manager', '@language_manager', '@string_translation', '@config.factory', '@request_stack']
  1537. Drupal\Core\Datetime\DateFormatterInterface: '@date.formatter'
  1538. theme.manager:
  1539. class: Drupal\Core\Theme\ThemeManager
  1540. arguments: ['%app.root%', '@theme.negotiator', '@theme.initialization', '@module_handler']
  1541. calls:
  1542. - [setThemeRegistry, ['@theme.registry']]
  1543. Drupal\Core\Theme\ThemeManagerInterface: '@theme.manager'
  1544. theme.initialization:
  1545. class: Drupal\Core\Theme\ThemeInitialization
  1546. arguments: ['%app.root%', '@theme_handler', '@cache.bootstrap', '@module_handler']
  1547. Drupal\Core\Theme\ThemeInitializationInterface: '@theme.initialization'
  1548. theme.registry:
  1549. class: Drupal\Core\Theme\Registry
  1550. arguments: ['%app.root%', '@cache.default', '@lock', '@module_handler', '@theme_handler', '@theme.initialization', '@cache.bootstrap', '@extension.list.module']
  1551. tags:
  1552. - { name: needs_destruction }
  1553. calls:
  1554. - [setThemeManager, ['@theme.manager']]
  1555. Drupal\Core\Theme\Registry: '@theme.registry'
  1556. authentication:
  1557. class: Drupal\Core\Authentication\AuthenticationManager
  1558. arguments: ['@authentication_collector']
  1559. Drupal\Core\Authentication\AuthenticationProviderInterface: '@authentication'
  1560. authentication_collector:
  1561. class: Drupal\Core\Authentication\AuthenticationCollector
  1562. tags:
  1563. - { name: service_collector, tag: authentication_provider, call: addProvider }
  1564. Drupal\Core\Authentication\AuthenticationCollectorInterface: '@authentication_collector'
  1565. authentication_subscriber:
  1566. class: Drupal\Core\EventSubscriber\AuthenticationSubscriber
  1567. arguments: ['@authentication', '@current_user']
  1568. account_switcher:
  1569. class: Drupal\Core\Session\AccountSwitcher
  1570. arguments: ['@current_user', '@session_handler.write_safe']
  1571. Drupal\Core\Session\AccountSwitcherInterface: '@account_switcher'
  1572. access_policy_processor:
  1573. class: Drupal\Core\Session\AccessPolicyProcessor
  1574. arguments: ['@variation_cache.access_policy', '@variation_cache.access_policy_memory', '@cache.access_policy_memory', '@current_user', '@account_switcher']
  1575. tags:
  1576. - { name: service_collector, call: addAccessPolicy, tag: access_policy }
  1577. Drupal\Core\Session\AccessPolicyChainInterface: '@access_policy_processor'
  1578. access_policy.super_user:
  1579. class: Drupal\Core\Session\SuperUserAccessPolicy
  1580. tags:
  1581. - { name: access_policy }
  1582. Drupal\Core\Session\SuperUserAccessPolicy: '@access_policy.super_user'
  1583. access_policy.user_roles:
  1584. class: Drupal\Core\Session\UserRolesAccessPolicy
  1585. arguments: ['@entity_type.manager']
  1586. tags:
  1587. - { name: access_policy }
  1588. Drupal\Core\Session\UserRolesAccessPolicy: '@access_policy.user_roles'
  1589. permission_checker:
  1590. class: Drupal\Core\Session\PermissionChecker
  1591. arguments: ['@access_policy_processor']
  1592. Drupal\Core\Session\PermissionCheckerInterface: '@permission_checker'
  1593. user_permissions_hash_generator:
  1594. class: Drupal\Core\Session\PermissionsHashGenerator
  1595. arguments: ['@private_key', '@cache.static', '@access_policy_processor']
  1596. Drupal\Core\Session\PermissionsHashGeneratorInterface: '@user_permissions_hash_generator'
  1597. current_user:
  1598. class: Drupal\Core\Session\AccountProxy
  1599. arguments: ['@event_dispatcher']
  1600. Drupal\Core\Session\AccountInterface: '@current_user'
  1601. Drupal\Core\Session\AccountProxyInterface: '@current_user'
  1602. session_configuration:
  1603. class: Drupal\Core\Session\SessionConfiguration
  1604. arguments: ['%session.storage.options%']
  1605. Drupal\Core\Session\SessionConfigurationInterface: '@session_configuration'
  1606. session:
  1607. class: Symfony\Component\HttpFoundation\Session\Session
  1608. arguments: ['@session_manager', '@session.attribute_bag', '@session.flash_bag']
  1609. tags:
  1610. - { name: service_collector, tag: session_bag, call: registerBag }
  1611. Symfony\Component\HttpFoundation\Session\SessionInterface: '@session'
  1612. # session.flash_bag has special treatment: it is passed to the session
  1613. # service as an argument. Other services using FlashBag should be tagged
  1614. # with the session_bag tag, so that they will persist across page loads.
  1615. session.flash_bag:
  1616. class: Symfony\Component\HttpFoundation\Session\Flash\FlashBag
  1617. public: false
  1618. Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface: '@session.flash_bag'
  1619. session.attribute_bag:
  1620. class: Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag
  1621. public: false
  1622. Symfony\Component\HttpFoundation\Session\Attribute\AttributeBagInterface: '@session.attribute_bag'
  1623. session_handler:
  1624. alias: session_handler.storage
  1625. session_handler.storage:
  1626. class: Drupal\Core\Session\SessionHandler
  1627. arguments: ['@request_stack', '@database', '@datetime.time']
  1628. tags:
  1629. - { name: backend_overridable }
  1630. session_handler.write_safe:
  1631. class: Drupal\Core\Session\WriteSafeSessionHandler
  1632. tags:
  1633. - { name: session_handler_proxy, priority: 150 }
  1634. Drupal\Core\Session\WriteSafeSessionHandlerInterface: '@session_handler.write_safe'
  1635. session_manager:
  1636. class: Drupal\Core\Session\SessionManager
  1637. arguments: ['@request_stack', '@database', '@session_manager.metadata_bag', '@session_configuration', '@datetime.time', '@session_handler']
  1638. tags:
  1639. - { name: backend_overridable }
  1640. calls:
  1641. - [setWriteSafeHandler, ['@session_handler.write_safe']]
  1642. Drupal\Core\Session\SessionManagerInterface: '@session_manager'
  1643. session_manager.metadata_bag:
  1644. class: Drupal\Core\Session\MetadataBag
  1645. arguments: ['@settings']
  1646. Drupal\Core\Session\MetadataBag: '@session_manager.metadata_bag'
  1647. asset.css.collection_renderer:
  1648. class: Drupal\Core\Asset\CssCollectionRenderer
  1649. arguments: [ '@asset.query_string', '@file_url_generator' ]
  1650. asset.css.collection_optimizer:
  1651. class: Drupal\Core\Asset\CssCollectionOptimizerLazy
  1652. arguments: [ '@asset.css.collection_grouper', '@asset.css.optimizer', '@theme.manager', '@library.dependency_resolver', '@request_stack', '@file_system', '@config.factory', '@file_url_generator', '@datetime.time', '@language_manager']
  1653. asset.css.optimizer:
  1654. class: Drupal\Core\Asset\CssOptimizer
  1655. arguments: ['@file_url_generator']
  1656. asset.css.collection_grouper:
  1657. class: Drupal\Core\Asset\CssCollectionGrouper
  1658. asset.css.dumper:
  1659. class: Drupal\Core\Asset\AssetDumper
  1660. arguments: ['@file_system']
  1661. asset.js.collection_renderer:
  1662. class: Drupal\Core\Asset\JsCollectionRenderer
  1663. arguments: [ '@asset.query_string','@file_url_generator', '@datetime.time' ]
  1664. asset.js.collection_optimizer:
  1665. class: Drupal\Core\Asset\JsCollectionOptimizerLazy
  1666. arguments: [ '@asset.js.collection_grouper', '@asset.js.optimizer', '@theme.manager', '@library.dependency_resolver', '@request_stack', '@file_system', '@config.factory', '@file_url_generator', '@datetime.time', '@language_manager']
  1667. asset.js.optimizer:
  1668. class: Drupal\Core\Asset\JsOptimizer
  1669. arguments: ['@logger.channel.default']
  1670. asset.js.collection_grouper:
  1671. class: Drupal\Core\Asset\JsCollectionGrouper
  1672. asset.js.dumper:
  1673. class: Drupal\Core\Asset\AssetDumper
  1674. arguments: ['@file_system']
  1675. library.discovery:
  1676. class: Drupal\Core\Asset\LibraryDiscovery
  1677. arguments: ['@library.discovery.collector']
  1678. Drupal\Core\Asset\LibraryDiscoveryInterface: '@library.discovery'
  1679. library.discovery.collector:
  1680. class: Drupal\Core\Asset\LibraryDiscoveryCollector
  1681. arguments: ['@cache.discovery', '@lock', '@library.discovery.parser', '@theme.manager']
  1682. tags:
  1683. - { name: needs_destruction }
  1684. library.discovery.parser:
  1685. class: Drupal\Core\Asset\LibraryDiscoveryParser
  1686. arguments: ['%app.root%', '@module_handler', '@theme.manager', '@stream_wrapper_manager', '@library.libraries_directory_file_finder', '@extension.path.resolver', '@plugin.manager.sdc']
  1687. Drupal\Core\Asset\LibraryDiscoveryParser: '@library.discovery.parser'
  1688. library.libraries_directory_file_finder:
  1689. class: Drupal\Core\Asset\LibrariesDirectoryFileFinder
  1690. arguments: ['%app.root%', '%site.path%', '@extension.list.profile', '%install_profile%']
  1691. Drupal\Core\Asset\LibrariesDirectoryFileFinder: '@library.libraries_directory_file_finder'
  1692. library.dependency_resolver:
  1693. class: Drupal\Core\Asset\LibraryDependencyResolver
  1694. arguments: ['@library.discovery']
  1695. Drupal\Core\Asset\LibraryDependencyResolverInterface: '@library.dependency_resolver'
  1696. asset.resolver:
  1697. class: Drupal\Core\Asset\AssetResolver
  1698. arguments: ['@library.discovery', '@library.dependency_resolver', '@module_handler', '@theme.manager', '@language_manager', '@cache.data']
  1699. Drupal\Core\Asset\AssetResolverInterface: '@asset.resolver'
  1700. info_parser:
  1701. class: Drupal\Core\Extension\InfoParser
  1702. arguments: ['%app.root%']
  1703. Drupal\Core\Extension\InfoParserInterface: '@info_parser'
  1704. twig:
  1705. class: Drupal\Core\Template\TwigEnvironment
  1706. arguments: ['%app.root%', '@cache.default', '%twig_extension_hash%', '@state', '@twig.loader', '%twig.config%']
  1707. tags:
  1708. - { name: service_collector, tag: 'twig.extension', call: addExtension }
  1709. Drupal\Core\Template\TwigEnvironment: '@twig'
  1710. twig.extension:
  1711. class: Drupal\Core\Template\TwigExtension
  1712. arguments: ['@renderer', '@url_generator', '@theme.manager', '@date.formatter', '@file_url_generator']
  1713. tags:
  1714. - { name: twig.extension, priority: 100 }
  1715. Drupal\Core\Template\ComponentsTwigExtension:
  1716. arguments: ['@plugin.manager.sdc', '@Drupal\Core\Theme\Component\ComponentValidator']
  1717. tags:
  1718. - { name: twig.extension, priority: 101 }
  1719. twig.extension.debug:
  1720. class: Twig\Extension\DebugExtension
  1721. tags:
  1722. - { name: twig.extension, priority: 50 }
  1723. twig.extension.varDumper:
  1724. class: Drupal\Core\Template\DebugExtension
  1725. tags:
  1726. # This extension is loaded after the Twig Debug Extension because for Twig
  1727. # Extensions, last extension loaded takes precedent. This allows this
  1728. # extension to override the default Twig Debug Extension conditionally
  1729. # when Symfony VarDumper is available.
  1730. - { name: twig.extension, priority: 25 }
  1731. twig.loader:
  1732. class: Twig\Loader\ChainLoader
  1733. public: false
  1734. tags:
  1735. - { name: service_collector, tag: twig.loader, call: addLoader, required: TRUE }
  1736. Twig\Loader\LoaderInterface: '@twig.loader'
  1737. twig.loader.filesystem:
  1738. class: Drupal\Core\Template\Loader\FilesystemLoader
  1739. # We use '.' instead of '%app.root%' as the path for non-namespaced template
  1740. # files so that they match the relative paths of templates loaded via the
  1741. # theme registry or via Twig namespaces.
  1742. arguments: ['.', '@module_handler', '@theme_handler', '%twig.config%']
  1743. tags:
  1744. - { name: twig.loader, priority: 100 }
  1745. twig.loader.theme_registry:
  1746. class: Drupal\Core\Template\Loader\ThemeRegistryLoader
  1747. arguments: ['@theme.registry']
  1748. tags:
  1749. - { name: twig.loader, priority: 0 }
  1750. twig.loader.string:
  1751. class: Drupal\Core\Template\Loader\StringLoader
  1752. tags:
  1753. - { name: twig.loader, priority: -100 }
  1754. element_info:
  1755. alias: plugin.manager.element_info
  1756. file.htaccess_writer:
  1757. class: Drupal\Core\File\HtaccessWriter
  1758. arguments: ['@logger.channel.security', '@stream_wrapper_manager']
  1759. Drupal\Core\File\HtaccessWriterInterface: '@file.htaccess_writer'
  1760. file.mime_type.guesser:
  1761. class: Drupal\Core\File\MimeType\MimeTypeGuesser
  1762. arguments: ['@stream_wrapper_manager']
  1763. tags:
  1764. - { name: service_collector, tag: mime_type_guesser, call: addMimeTypeGuesser }
  1765. lazy: true
  1766. file.mime_type.guesser.extension:
  1767. class: Drupal\Core\File\MimeType\ExtensionMimeTypeGuesser
  1768. arguments: ['@module_handler']
  1769. tags:
  1770. - { name: mime_type_guesser }
  1771. lazy: true
  1772. # Currently needs to be public as it is called by
  1773. # \Drupal\Core\Render\Element\StatusMessages.
  1774. # @todo Consider making this service private again after
  1775. # https://www.drupal.org/node/2367555 lands.
  1776. render_placeholder_generator:
  1777. class: Drupal\Core\Render\PlaceholderGenerator
  1778. arguments: ['@cache_contexts_manager', '%renderer.config%']
  1779. Drupal\Core\Render\PlaceholderGeneratorInterface: '@render_placeholder_generator'
  1780. render_cache:
  1781. class: Drupal\Core\Render\PlaceholderingRenderCache
  1782. arguments: ['@request_stack', '@variation_cache_factory', '@cache_contexts_manager', '@render_placeholder_generator']
  1783. Drupal\Core\Render\RenderCacheInterface: '@render_cache'
  1784. renderer:
  1785. class: Drupal\Core\Render\Renderer
  1786. arguments: ['@callable_resolver', '@theme.manager', '@plugin.manager.element_info', '@render_placeholder_generator', '@render_cache', '@request_stack', '%renderer.config%']
  1787. Drupal\Core\Render\RendererInterface: '@renderer'
  1788. early_rendering_controller_wrapper_subscriber:
  1789. class: Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber
  1790. arguments: ['@http_kernel.controller.argument_resolver', '@renderer']
  1791. # Placeholder strategies for rendering placeholders.
  1792. html_response.placeholder_strategy_subscriber:
  1793. class: Drupal\Core\EventSubscriber\HtmlResponsePlaceholderStrategySubscriber
  1794. arguments: ['@placeholder_strategy']
  1795. placeholder_strategy:
  1796. class: Drupal\Core\Render\Placeholder\ChainedPlaceholderStrategy
  1797. tags:
  1798. - { name: service_collector, tag: placeholder_strategy, call: addPlaceholderStrategy }
  1799. Drupal\Core\Render\Placeholder\PlaceholderStrategyInterface: '@placeholder_strategy'
  1800. placeholder_strategy.single_flush:
  1801. class: Drupal\Core\Render\Placeholder\SingleFlushStrategy
  1802. tags:
  1803. - { name: placeholder_strategy, priority: -1000 }
  1804. email.validator:
  1805. class: Drupal\Component\Utility\EmailValidator
  1806. Drupal\Component\Utility\EmailValidatorInterface: '@email.validator'
  1807. update.update_hook_registry:
  1808. class: Drupal\Core\Update\UpdateHookRegistry
  1809. arguments: ['%container.modules%', '@keyvalue']
  1810. Drupal\Core\Update\UpdateHookRegistry: '@update.update_hook_registry'
  1811. update.update_hook_registry_factory:
  1812. class: Drupal\Core\Update\UpdateHookRegistryFactory
  1813. parent: container.trait
  1814. deprecated: The "%service_id%" service is deprecated. You should use the 'update.update_hook_registry' service instead. See https://www.drupal.org/node/3423659
  1815. update.post_update_registry:
  1816. class: Drupal\Core\Update\UpdateRegistry
  1817. arguments: ['%app.root%', '%site.path%', '%container.modules%', '@update.key_value.post_update', '@theme_handler', 'post_update']
  1818. update.key_value.post_update:
  1819. class: Drupal\Core\KeyValueStore\KeyValueStoreInterface
  1820. factory: ['@keyvalue', 'get']
  1821. arguments: ['post_update']
  1822. public: false
  1823. update.post_update_registry_factory:
  1824. class: Drupal\Core\Update\UpdateRegistryFactory
  1825. parent: container.trait
  1826. deprecated: The "%service_id%" service is deprecated. You should use the 'update.post_update_registry' service instead. See https://www.drupal.org/node/3423659
  1827. uuid:
  1828. class: Drupal\Component\Uuid\Php
  1829. Drupal\Component\Uuid\UuidInterface: '@uuid'
  1830. response_filter.active_link:
  1831. class: Drupal\Core\EventSubscriber\ActiveLinkResponseFilter
  1832. arguments: ['@current_user', '@path.current', '@path.matcher', '@language_manager']
  1833. response_filter.rss.relative_url:
  1834. class: Drupal\Core\EventSubscriber\RssResponseRelativeUrlFilter
  1835. messenger:
  1836. class: Drupal\Core\Messenger\Messenger
  1837. arguments: ['@session.flash_bag', '@page_cache_kill_switch']
  1838. Drupal\Core\Messenger\MessengerInterface: '@messenger'
  1839. tempstore.private:
  1840. class: Drupal\Core\TempStore\PrivateTempStoreFactory
  1841. arguments: ['@keyvalue.expirable', '@lock', '@current_user', '@request_stack', '%tempstore.expire%']
  1842. tags:
  1843. - { name: backend_overridable }
  1844. Drupal\Core\TempStore\PrivateTempStoreFactory: '@tempstore.private'
  1845. tempstore.shared:
  1846. class: Drupal\Core\TempStore\SharedTempStoreFactory
  1847. arguments: ['@keyvalue.expirable', '@lock', '@request_stack', '@current_user', '%tempstore.expire%']
  1848. tags:
  1849. - { name: backend_overridable }
  1850. Drupal\Core\TempStore\SharedTempStoreFactory: '@tempstore.shared'
  1851. pager.manager:
  1852. class: Drupal\Core\Pager\PagerManager
  1853. arguments: ['@pager.parameters']
  1854. Drupal\Core\Pager\PagerManagerInterface: '@pager.manager'
  1855. pager.parameters:
  1856. class: Drupal\Core\Pager\PagerParameters
  1857. arguments: ['@request_stack']
  1858. Drupal\Core\Pager\PagerParametersInterface: '@pager.parameters'
  1859. Drupal\Core\Theme\Component\SchemaCompatibilityChecker: {}
  1860. Drupal\Core\Theme\Component\ComponentValidator:
  1861. calls:
  1862. - [setValidator, []]
  1863. Drupal\Core\Theme\ComponentNegotiator:
  1864. arguments:
  1865. - '@theme.manager'
  1866. - '@extension.list.module'
  1867. plugin.manager.sdc:
  1868. public: true
  1869. class: Drupal\Core\Theme\ComponentPluginManager
  1870. arguments:
  1871. - '@module_handler'
  1872. - '@theme_handler'
  1873. - '@cache.discovery'
  1874. - '@config.factory'
  1875. - '@theme.manager'
  1876. - '@Drupal\Core\Theme\ComponentNegotiator'
  1877. - '@file_system'
  1878. - '@Drupal\Core\Theme\Component\SchemaCompatibilityChecker'
  1879. - '@Drupal\Core\Theme\Component\ComponentValidator'
  1880. - '%app.root%'
  1881. Drupal\Core\Theme\ComponentPluginManager: '@plugin.manager.sdc'
  1882. Drupal\Core\Template\Loader\ComponentLoader:
  1883. arguments:
  1884. - '@plugin.manager.sdc'
  1885. - '@logger.channel.default'
  1886. tags:
  1887. - { name: twig.loader, priority: 5 }
  1888. Drupal\Core\EventSubscriber\CsrfExceptionSubscriber: ~

Services

Namesort ascending Description
_defaults
variation_cache_factory Drupal\Core\Cache\VariationCacheFactory
variation_cache.access_policy_memory Drupal\Core\Cache\VariationCacheInterface
variation_cache.access_policy Drupal\Core\Cache\VariationCacheInterface
validation.constraint Drupal\Core\Validation\ConstraintManager
validation.basic_recursive_validator_factory Drupal\Core\Validation\BasicRecursiveValidatorFactory
uuid Drupal\Component\Uuid\Php
user_permissions_hash_generator Drupal\Core\Session\PermissionsHashGenerator
url_generator.non_bubbling Drupal\Core\Routing\UrlGenerator
url_generator Drupal\Core\Render\MetadataBubblingUrlGenerator
update.update_hook_registry_factory Drupal\Core\Update\UpdateHookRegistryFactory
update.update_hook_registry Drupal\Core\Update\UpdateHookRegistry
update.post_update_registry_factory Drupal\Core\Update\UpdateRegistryFactory
update.post_update_registry Drupal\Core\Update\UpdateRegistry
update.key_value.post_update Drupal\Core\KeyValueStore\KeyValueStoreInterface
unrouted_url_assembler Drupal\Core\Utility\UnroutedUrlAssembler
typed_data_manager Drupal\Core\TypedData\TypedDataManager
Twig\Loader\LoaderInterface
twig.loader.theme_registry Drupal\Core\Template\Loader\ThemeRegistryLoader
twig.loader.string Drupal\Core\Template\Loader\StringLoader
twig.loader.filesystem Drupal\Core\Template\Loader\FilesystemLoader
twig.loader Twig\Loader\ChainLoader
twig.extension.varDumper Drupal\Core\Template\DebugExtension
twig.extension.debug Twig\Extension\DebugExtension
twig.extension Drupal\Core\Template\TwigExtension
twig Drupal\Core\Template\TwigEnvironment
transliteration Drupal\Core\Transliteration\PhpTransliteration
token Drupal\Core\Utility\Token
title_resolver Drupal\Core\Controller\TitleResolver
theme_installer Drupal\Core\Extension\ThemeInstaller
theme_handler Drupal\Core\Extension\ThemeHandler
theme.registry Drupal\Core\Theme\Registry
theme.negotiator.default Drupal\Core\Theme\DefaultNegotiator
theme.negotiator.ajax_base_page Drupal\Core\Theme\AjaxBasePageNegotiator
theme.negotiator Drupal\Core\Theme\ThemeNegotiator
theme.manager Drupal\Core\Theme\ThemeManager
theme.initialization Drupal\Core\Theme\ThemeInitialization
tempstore.shared Drupal\Core\TempStore\SharedTempStoreFactory
tempstore.private Drupal\Core\TempStore\PrivateTempStoreFactory
Symfony\Contracts\EventDispatcher\EventDispatcherInterface
Symfony\Component\Routing\Generator\UrlGeneratorInterface
Symfony\Component\HttpKernel\HttpKernelInterface
Symfony\Component\HttpKernel\Controller\ControllerResolverInterface
Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface
Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactoryInterface
Symfony\Component\HttpFoundation\Session\SessionInterface
Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface
Symfony\Component\HttpFoundation\Session\Attribute\AttributeBagInterface
Symfony\Component\HttpFoundation\RequestStack
Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface
Symfony\Bridge\PsrHttpMessage\HttpFoundationFactoryInterface
string_translator.custom_strings Drupal\Core\StringTranslation\Translator\CustomStrings
string_translation Drupal\Core\StringTranslation\TranslationManager
stream_wrapper_manager Drupal\Core\StreamWrapper\StreamWrapperManager
stream_wrapper.temporary Drupal\Core\StreamWrapper\TemporaryStream
stream_wrapper.public Drupal\Core\StreamWrapper\PublicStream
stream_wrapper.assets Drupal\Core\StreamWrapper\AssetsStream
state Drupal\Core\State\State
settings Drupal\Core\Site\Settings
session_manager.metadata_bag Drupal\Core\Session\MetadataBag
session_manager Drupal\Core\Session\SessionManager
session_handler.write_safe Drupal\Core\Session\WriteSafeSessionHandler
session_handler.storage Drupal\Core\Session\SessionHandler
session_handler Alias of session_handler.storage
session_configuration Drupal\Core\Session\SessionConfiguration
session.flash_bag Symfony\Component\HttpFoundation\Session\Flash\FlashBag
session.attribute_bag Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag
session Symfony\Component\HttpFoundation\Session\Session
serialization.yaml Drupal\Component\Serialization\Yaml
serialization.phpserialize Drupal\Component\Serialization\PhpSerialize
serialization.json Drupal\Component\Serialization\Json
route_subscriber.module Drupal\Core\EventSubscriber\ModuleRouteSubscriber
route_subscriber.entity Drupal\Core\EventSubscriber\EntityRouteAlterSubscriber
route_special_attributes_subscriber Drupal\Core\EventSubscriber\SpecialAttributesRouteSubscriber
route_processor_manager Drupal\Core\RouteProcessor\RouteProcessorManager
route_processor_current Drupal\Core\RouteProcessor\RouteProcessorCurrent
route_processor_csrf Drupal\Core\Access\RouteProcessorCsrf
route_http_method_subscriber Drupal\Core\EventSubscriber\RouteMethodSubscriber
route_enhancer.param_conversion Drupal\Core\Routing\Enhancer\ParamConversionEnhancer
route_enhancer.form Drupal\Core\Routing\Enhancer\FormRouteEnhancer
route_enhancer.entity_revision Drupal\Core\Routing\Enhancer\EntityRevisionRouteEnhancer
route_enhancer.entity_bundle Drupal\Core\Entity\Enhancer\EntityBundleRouteEnhancer
route_enhancer.entity Drupal\Core\Entity\Enhancer\EntityRouteEnhancer
route_access_response_subscriber Drupal\Core\EventSubscriber\RouteAccessResponseSubscriber
router_listener Symfony\Component\HttpKernel\EventListener\RouterListener
router.route_provider.lazy_builder Drupal\Core\Routing\RouteProviderLazyBuilder
router.route_provider Drupal\Core\Routing\RouteProvider
router.route_preloader Drupal\Core\Routing\RoutePreloader
router.request_context Drupal\Core\Routing\RequestContext
router.path_roots_subscriber Drupal\Core\EventSubscriber\PathRootsSubscriber
router.no_access_checks \Drupal\Core\Routing\Router
router.dumper Drupal\Core\Routing\MatcherDumper
router.builder Drupal\Core\Routing\RouteBuilder
router.admin_context Drupal\Core\Routing\AdminContext
router Drupal\Core\Routing\AccessAwareRouter
response_generator_subscriber Drupal\Core\EventSubscriber\ResponseGeneratorSubscriber
response_filter.rss.relative_url Drupal\Core\EventSubscriber\RssResponseRelativeUrlFilter
response_filter.active_link Drupal\Core\EventSubscriber\ActiveLinkResponseFilter
resolver_manager.entity Drupal\Core\Entity\EntityResolverManager
required_module_uninstall_validator Drupal\Core\Extension\RequiredModuleUninstallValidator
request_stack Symfony\Component\HttpFoundation\RequestStack
request_format_route_filter Drupal\Core\Routing\RequestFormatRouteFilter
render_placeholder_generator Drupal\Core\Render\PlaceholderGenerator
render_cache Drupal\Core\Render\PlaceholderingRenderCache
renderer_non_html Drupal\Core\EventSubscriber\RenderArrayNonHtmlSubscriber
renderer Drupal\Core\Render\Renderer
redirect_response_subscriber Drupal\Core\EventSubscriber\RedirectResponseSubscriber
redirect_leading_slashes_subscriber Drupal\Core\EventSubscriber\RedirectLeadingSlashesSubscriber
redirect.destination Drupal\Core\Routing\RedirectDestination
queue.database Drupal\Core\Queue\QueueDatabaseFactory
queue Drupal\Core\Queue\QueueFactory
psr_response_view_subscriber Drupal\Core\EventSubscriber\PsrResponseSubscriber
Psr\Http\Message\UploadedFileFactoryInterface
Psr\Http\Message\StreamFactoryInterface
Psr\Http\Message\ServerRequestFactoryInterface
Psr\Http\Message\ResponseFactoryInterface
Psr\Http\Client\ClientInterface
Psr\EventDispatcher\EventDispatcherInterface
psr7.http_message_factory Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory
psr7.http_foundation_factory Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory
psr17.uploaded_file_factory GuzzleHttp\Psr7\HttpFactory
psr17.stream_factory GuzzleHttp\Psr7\HttpFactory
psr17.server_request_factory GuzzleHttp\Psr7\HttpFactory
psr17.response_factory GuzzleHttp\Psr7\HttpFactory
private_key Drupal\Core\PrivateKey
plugin_form.factory Drupal\Core\Plugin\PluginFormFactory
plugin.manager.sdc Drupal\Core\Theme\ComponentPluginManager
plugin.manager.queue_worker Drupal\Core\Queue\QueueWorkerManager
plugin.manager.menu.local_task Drupal\Core\Menu\LocalTaskManager
plugin.manager.menu.local_action Drupal\Core\Menu\LocalActionManager
plugin.manager.menu.link Drupal\Core\Menu\MenuLinkManager
plugin.manager.menu.contextual_link Drupal\Core\Menu\ContextualLinkManager
plugin.manager.mail Drupal\Core\Mail\MailManager
plugin.manager.link_relation_type \Drupal\Core\Http\LinkRelationTypeManager
plugin.manager.field.widget Drupal\Core\Field\WidgetPluginManager
plugin.manager.field.formatter Drupal\Core\Field\FormatterPluginManager
plugin.manager.field.field_type_category \Drupal\Core\Field\FieldTypeCategoryManager
plugin.manager.field.field_type Drupal\Core\Field\FieldTypePluginManager
plugin.manager.entity_reference_selection Drupal\Core\Entity\EntityReferenceSelection\SelectionPluginManager
plugin.manager.element_info Drupal\Core\Render\ElementInfoManager
plugin.manager.display_variant Drupal\Core\Display\VariantManager
plugin.manager.condition Drupal\Core\Condition\ConditionManager
plugin.manager.block Drupal\Core\Block\BlockManager
plugin.manager.archiver Drupal\Core\Archiver\ArchiverManager
plugin.manager.action Drupal\Core\Action\ActionManager
plugin.cache_clearer Drupal\Core\Plugin\CachedDiscoveryClearer
placeholder_strategy.single_flush Drupal\Core\Render\Placeholder\SingleFlushStrategy
placeholder_strategy Drupal\Core\Render\Placeholder\ChainedPlaceholderStrategy
pgsql.entity.query.sql Drupal\Core\Entity\Query\Sql\pgsql\QueryFactory
permission_checker Drupal\Core\Session\PermissionChecker
path_processor_manager Drupal\Core\PathProcessor\PathProcessorManager
path_processor_front Drupal\Core\PathProcessor\PathProcessorFront
path_processor_decode Drupal\Core\PathProcessor\PathProcessorDecode
path.validator Drupal\Core\Path\PathValidator
path.matcher Drupal\Core\Path\PathMatcher
path.current Drupal\Core\Path\CurrentPathStack
password_generator Drupal\Core\Password\DefaultPasswordGenerator
password Drupal\Core\Password\PhpPassword
paramconverter_subscriber Drupal\Core\EventSubscriber\ParamConverterSubscriber
paramconverter_manager Drupal\Core\ParamConverter\ParamConverterManager
paramconverter.menu_link Drupal\Core\ParamConverter\MenuLinkPluginConverter
paramconverter.entity_revision Drupal\Core\ParamConverter\EntityRevisionParamConverter
paramconverter.entity Drupal\Core\ParamConverter\EntityConverter
paramconverter.configentity_admin Drupal\Core\ParamConverter\AdminPathConfigEntityConverter
page_cache_response_policy Drupal\Core\PageCache\ChainResponsePolicy
page_cache_request_policy Drupal\Core\PageCache\DefaultRequestPolicy
page_cache_no_server_error Drupal\Core\PageCache\ResponsePolicy\NoServerError
page_cache_no_cache_routes Drupal\Core\PageCache\ResponsePolicy\DenyNoCacheRoutes
page_cache_kill_switch Drupal\Core\PageCache\ResponsePolicy\KillSwitch
pager.parameters Drupal\Core\Pager\PagerParameters
pager.manager Drupal\Core\Pager\PagerManager
options_request_listener Drupal\Core\EventSubscriber\OptionsRequestSubscriber
module_required_by_themes_uninstall_validator Drupal\Core\Extension\ModuleRequiredByThemesUninstallValidator
module_installer Drupal\Core\Extension\ModuleInstaller
module_handler Drupal\Core\Extension\ModuleHandler
method_filter Drupal\Core\Routing\MethodFilter
messenger Drupal\Core\Messenger\Messenger
menu_link.static.overrides Drupal\Core\Menu\StaticMenuLinkOverrides
menu.tree_storage Drupal\Core\Menu\MenuTreeStorage
menu.rebuild_subscriber Drupal\Core\EventSubscriber\MenuRouterRebuildSubscriber
menu.parent_form_selector Drupal\Core\Menu\MenuParentFormSelector
menu.link_tree Drupal\Core\Menu\MenuLinkTree
menu.default_tree_manipulators Drupal\Core\Menu\DefaultMenuLinkTreeManipulators
menu.active_trail Drupal\Core\Menu\MenuActiveTrail
main_content_view_subscriber Drupal\Core\EventSubscriber\MainContentViewSubscriber
main_content_renderer.off_canvas_top Drupal\Core\Render\MainContent\OffCanvasRenderer
main_content_renderer.off_canvas Drupal\Core\Render\MainContent\OffCanvasRenderer
main_content_renderer.modal Drupal\Core\Render\MainContent\ModalRenderer
main_content_renderer.html Drupal\Core\Render\MainContent\HtmlRenderer
main_content_renderer.dialog Drupal\Core\Render\MainContent\DialogRenderer
main_content_renderer.ajax Drupal\Core\Render\MainContent\AjaxRenderer
maintenance_mode_subscriber Drupal\Core\EventSubscriber\MaintenanceModeSubscriber
maintenance_mode Drupal\Core\Site\MaintenanceMode
logger.log_message_parser Drupal\Core\Logger\LogMessageParser
logger.factory Drupal\Core\Logger\LoggerChannelFactory
logger.channel_base Drupal\Core\Logger\LoggerChannel
logger.channel.security
logger.channel.router
logger.channel.php
logger.channel.menu
logger.channel.mail
logger.channel.image
logger.channel.form
logger.channel.file Drupal\Core\Logger\LoggerChannel
logger.channel.default
logger.channel.cron
lock.persistent Drupal\Core\Lock\PersistentDatabaseLockBackend
lock Drupal\Core\Lock\DatabaseLockBackend
link_generator Drupal\Core\Utility\LinkGenerator
library.libraries_directory_file_finder Drupal\Core\Asset\LibrariesDirectoryFileFinder
library.discovery.parser Drupal\Core\Asset\LibraryDiscoveryParser
library.discovery.collector Drupal\Core\Asset\LibraryDiscoveryCollector
library.discovery Drupal\Core\Asset\LibraryDiscovery
library.dependency_resolver Drupal\Core\Asset\LibraryDependencyResolver
language_manager Drupal\Core\Language\LanguageManager
language.default Drupal\Core\Language\LanguageDefault
language.current_language_context Drupal\Core\Language\ContextProvider\CurrentLanguageContext
keyvalue.expirable.database Drupal\Core\KeyValueStore\KeyValueDatabaseExpirableFactory
keyvalue.expirable Drupal\Core\KeyValueStore\KeyValueExpirableFactory
keyvalue.database Drupal\Core\KeyValueStore\KeyValueDatabaseFactory
keyvalue Drupal\Core\KeyValueStore\KeyValueFactory
install_profile_uninstall_validator Drupal\Core\Extension\InstallProfileUninstallValidator
info_parser Drupal\Core\Extension\InfoParser
image.toolkit.operation.manager Drupal\Core\ImageToolkit\ImageToolkitOperationManager
image.toolkit.manager Drupal\Core\ImageToolkit\ImageToolkitManager
image.factory Drupal\Core\Image\ImageFactory
http_middleware.session Drupal\Core\StackMiddleware\Session
http_middleware.reverse_proxy Drupal\Core\StackMiddleware\ReverseProxyMiddleware
http_middleware.negotiation Drupal\Core\StackMiddleware\NegotiationMiddleware
http_middleware.kernel_pre_handle Drupal\Core\StackMiddleware\KernelPreHandle
http_middleware.cors Asm89\Stack\Cors
http_middleware.content_length Drupal\Core\StackMiddleware\ContentLength
http_middleware.ajax_page_state Drupal\Core\StackMiddleware\AjaxPageState
http_kernel.controller.argument_resolver Symfony\Component\HttpKernel\Controller\ArgumentResolver
http_kernel.controller.argument_metadata_factory Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactory
http_kernel.basic Symfony\Component\HttpKernel\HttpKernel
http_kernel Drupal\Core\StackMiddleware\StackedHttpKernel
http_handler_stack_configurator Drupal\Core\Http\HandlerStackConfigurator
http_handler_stack GuzzleHttp\HandlerStack
http_client_factory Drupal\Core\Http\ClientFactory
http_client GuzzleHttp\Client
html_response.subscriber Drupal\Core\EventSubscriber\HtmlResponseSubscriber
html_response.placeholder_strategy_subscriber Drupal\Core\EventSubscriber\HtmlResponsePlaceholderStrategySubscriber
html_response.attachments_processor Drupal\Core\Render\HtmlResponseAttachmentsProcessor
GuzzleHttp\HandlerStack
GuzzleHttp\ClientInterface
form_validator Drupal\Core\Form\FormValidator
form_submitter Drupal\Core\Form\FormSubmitter
form_error_handler Drupal\Core\Form\FormErrorHandler
form_cache Drupal\Core\Form\FormCache
form_builder Drupal\Core\Form\FormBuilder
form_ajax_subscriber Drupal\Core\Form\EventSubscriber\FormAjaxSubscriber
form_ajax_response_builder Drupal\Core\Form\FormAjaxResponseBuilder
flood Drupal\Core\Flood\DatabaseBackend
finish_response_subscriber Drupal\Core\EventSubscriber\FinishResponseSubscriber
file_url_generator Drupal\Core\File\FileUrlGenerator
file_system Drupal\Core\File\FileSystem
file.mime_type.guesser.extension Drupal\Core\File\MimeType\ExtensionMimeTypeGuesser
file.mime_type.guesser Drupal\Core\File\MimeType\MimeTypeGuesser
file.htaccess_writer Drupal\Core\File\HtaccessWriter
field_storage_definition.listener Drupal\Core\Field\FieldStorageDefinitionListener
field_definition.listener Drupal\Core\Field\FieldDefinitionListener
extension.path.resolver Drupal\Core\Extension\ExtensionPathResolver
extension.list.theme_engine Drupal\Core\Extension\ThemeEngineExtensionList
extension.list.theme Drupal\Core\Extension\ThemeExtensionList
extension.list.profile Drupal\Core\Extension\ProfileExtensionList
extension.list.module Drupal\Core\Extension\ModuleExtensionList
extension.list.database_driver Drupal\Core\Extension\DatabaseDriverList
exception.needs_installer Drupal\Core\EventSubscriber\ExceptionDetectNeedsInstallSubscriber
exception.logger Drupal\Core\EventSubscriber\ExceptionLoggingSubscriber
exception.final Drupal\Core\EventSubscriber\FinalExceptionSubscriber
exception.fast_404_html Drupal\Core\EventSubscriber\Fast404ExceptionHtmlSubscriber
exception.enforced_form_response Drupal\Core\EventSubscriber\EnforcedFormResponseSubscriber
exception.default_json Drupal\Core\EventSubscriber\ExceptionJsonSubscriber
exception.default_html Drupal\Core\EventSubscriber\DefaultExceptionHtmlSubscriber
exception.custom_page_html Drupal\Core\EventSubscriber\CustomPageExceptionHtmlSubscriber
event_dispatcher Symfony\Component\EventDispatcher\EventDispatcher
entity_type.repository Drupal\Core\Entity\EntityTypeRepository
entity_type.manager Drupal\Core\Entity\EntityTypeManager
entity_type.listener Drupal\Core\Entity\EntityTypeListener
entity_type.bundle.info Drupal\Core\Entity\EntityTypeBundleInfo
entity_route_subscriber Drupal\Core\EventSubscriber\EntityRouteProviderSubscriber
entity_field.manager Drupal\Core\Entity\EntityFieldManager
entity_field.deleted_fields_repository Drupal\Core\Field\DeletedFieldsRepository
entity_display.repository Drupal\Core\Entity\EntityDisplayRepository
entity_bundle.listener Drupal\Core\Entity\EntityBundleListener
entity.repository Drupal\Core\Entity\EntityRepository
entity.query.sql Drupal\Core\Entity\Query\Sql\QueryFactory
entity.query.null Drupal\Core\Entity\Query\Null\QueryFactory
entity.query.keyvalue Drupal\Core\Entity\KeyValueStore\Query\QueryFactory
entity.query.config Drupal\Core\Config\Entity\Query\QueryFactory
entity.memory_cache Drupal\Core\Cache\MemoryCache\MemoryCache
entity.last_installed_schema.repository Drupal\Core\Entity\EntityLastInstalledSchemaRepository
entity.form_builder Drupal\Core\Entity\EntityFormBuilder
entity.definition_update_manager Drupal\Core\Entity\EntityDefinitionUpdateManager
entity.bundle_config_import_validator Drupal\Core\Entity\Event\BundleConfigImportValidate
entity.autocomplete_matcher Drupal\Core\Entity\EntityAutocompleteMatcher
email.validator Drupal\Component\Utility\EmailValidator
element_info Alias of plugin.manager.element_info
early_rendering_controller_wrapper_subscriber Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber
Drupal\Core\Validation\BasicRecursiveValidatorFactory
Drupal\Core\Utility\UnroutedUrlAssemblerInterface
Drupal\Core\Utility\Token
Drupal\Core\Utility\LinkGeneratorInterface
Drupal\Core\Utility\CallableResolver
Drupal\Core\Update\UpdateHookRegistry
Drupal\Core\TypedData\TypedDataManagerInterface
Drupal\Core\Theme\ThemeNegotiatorInterface
Drupal\Core\Theme\ThemeManagerInterface
Drupal\Core\Theme\ThemeInitializationInterface
Drupal\Core\Theme\Registry
Drupal\Core\Theme\Component\SchemaCompatibilityChecker
Drupal\Core\Theme\Component\ComponentValidator
Drupal\Core\Theme\ComponentPluginManager
Drupal\Core\Theme\ComponentNegotiator
Drupal\Core\TempStore\SharedTempStoreFactory
Drupal\Core\TempStore\PrivateTempStoreFactory
Drupal\Core\Template\TwigEnvironment
Drupal\Core\Template\Loader\ComponentLoader
Drupal\Core\Template\ComponentsTwigExtension
Drupal\Core\StringTranslation\TranslationInterface
Drupal\Core\StreamWrapper\StreamWrapperManagerInterface
Drupal\Core\StreamWrapper\AssetsStream
Drupal\Core\State\StateInterface
Drupal\Core\Site\Settings
Drupal\Core\Site\MaintenanceModeInterface
Drupal\Core\Session\WriteSafeSessionHandlerInterface
Drupal\Core\Session\UserRolesAccessPolicy
Drupal\Core\Session\SuperUserAccessPolicy
Drupal\Core\Session\SessionManagerInterface
Drupal\Core\Session\SessionConfigurationInterface
Drupal\Core\Session\PermissionsHashGeneratorInterface
Drupal\Core\Session\PermissionCheckerInterface
Drupal\Core\Session\MetadataBag
Drupal\Core\Session\AccountSwitcherInterface
Drupal\Core\Session\AccountProxyInterface
Drupal\Core\Session\AccountInterface
Drupal\Core\Session\AccessPolicyChainInterface
Drupal\Core\Routing\UrlGeneratorInterface
Drupal\Core\Routing\RouteProviderInterface
Drupal\Core\Routing\RouteMatchInterface
Drupal\Core\Routing\RouteBuilderInterface
Drupal\Core\Routing\RequestContext
Drupal\Core\Routing\RedirectDestinationInterface
Drupal\Core\Routing\MatcherDumperInterface
Drupal\Core\Routing\AdminContext
Drupal\Core\Routing\AccessAwareRouterInterface
Drupal\Core\RouteProcessor\OutboundRouteProcessorInterface
Drupal\Core\Render\RendererInterface
Drupal\Core\Render\RenderCacheInterface
Drupal\Core\Render\Placeholder\PlaceholderStrategyInterface
Drupal\Core\Render\PlaceholderGeneratorInterface
Drupal\Core\Render\ElementInfoManagerInterface
Drupal\Core\Render\BareHtmlPageRendererInterface
Drupal\Core\Queue\QueueWorkerManagerInterface
Drupal\Core\Queue\QueueFactory
Drupal\Core\Queue\QueueDatabaseFactory
Drupal\Core\PrivateKey
Drupal\Core\Plugin\PluginFormFactoryInterface
Drupal\Core\Plugin\Context\ContextRepositoryInterface
Drupal\Core\Plugin\Context\ContextHandlerInterface
Drupal\Core\Plugin\CachedDiscoveryClearerInterface
Drupal\Core\Path\PathValidatorInterface
Drupal\Core\Path\PathMatcherInterface
Drupal\Core\Path\CurrentPathStack
Drupal\Core\PathProcessor\OutboundPathProcessorInterface
Drupal\Core\PathProcessor\InboundPathProcessorInterface
Drupal\Core\Password\PasswordInterface
Drupal\Core\Password\PasswordGeneratorInterface
Drupal\Core\ParamConverter\ParamConverterManagerInterface
Drupal\Core\Pager\PagerParametersInterface
Drupal\Core\Pager\PagerManagerInterface
Drupal\Core\PageCache\ResponsePolicy\KillSwitch
Drupal\Core\PageCache\ResponsePolicyInterface
Drupal\Core\PageCache\RequestPolicyInterface
Drupal\Core\Messenger\MessengerInterface
Drupal\Core\Menu\StaticMenuLinkOverridesInterface
Drupal\Core\Menu\MenuTreeStorageInterface
Drupal\Core\Menu\MenuParentFormSelectorInterface
Drupal\Core\Menu\MenuLinkTreeInterface
Drupal\Core\Menu\MenuLinkManagerInterface
Drupal\Core\Menu\MenuActiveTrailInterface
Drupal\Core\Menu\LocalTaskManagerInterface
Drupal\Core\Menu\LocalActionManagerInterface
Drupal\Core\Menu\DefaultMenuLinkTreeManipulators
Drupal\Core\Menu\ContextualLinkManagerInterface
Drupal\Core\Mail\MailManagerInterface
Drupal\Core\Logger\LogMessageParserInterface
Drupal\Core\Logger\LoggerChannelFactoryInterface
Drupal\Core\Locale\CountryManagerInterface
Drupal\Core\Language\LanguageManagerInterface
Drupal\Core\Language\LanguageDefault
Drupal\Core\Image\ImageFactory
Drupal\Core\ImageToolkit\ImageToolkitOperationManagerInterface
Drupal\Core\ImageToolkit\ImageToolkitManager
Drupal\Core\Http\HandlerStackConfigurator
Drupal\Core\Http\ClientFactory
Drupal\Core\Form\FormValidatorInterface
Drupal\Core\Form\FormSubmitterInterface
Drupal\Core\Form\FormErrorHandlerInterface
Drupal\Core\Form\FormCacheInterface
Drupal\Core\Form\FormBuilderInterface
Drupal\Core\Form\FormAjaxResponseBuilderInterface
Drupal\Core\Flood\FloodInterface
Drupal\Core\File\HtaccessWriterInterface
Drupal\Core\File\FileUrlGeneratorInterface
Drupal\Core\File\FileSystemInterface
Drupal\Core\Field\FieldTypePluginManagerInterface
Drupal\Core\Field\FieldTypeCategoryManagerInterface
Drupal\Core\Field\FieldStorageDefinitionListenerInterface
Drupal\Core\Field\FieldDefinitionListenerInterface
Drupal\Core\Field\DeletedFieldsRepositoryInterface
Drupal\Core\Extension\ThemeInstallerInterface
Drupal\Core\Extension\ThemeHandlerInterface
Drupal\Core\Extension\ThemeExtensionList
Drupal\Core\Extension\ThemeEngineExtensionList
Drupal\Core\Extension\ProfileExtensionList
Drupal\Core\Extension\ModuleInstallerInterface
Drupal\Core\Extension\ModuleHandlerInterface
Drupal\Core\Extension\ModuleExtensionList
Drupal\Core\Extension\InfoParserInterface
Drupal\Core\Extension\ExtensionPathResolver
Drupal\Core\Extension\DatabaseDriverList
Drupal\Core\Executable\ExecutableManagerInterface
Drupal\Core\EventSubscriber\CsrfExceptionSubscriber
Drupal\Core\Entity\HtmlEntityFormController
Drupal\Core\Entity\EntityTypeRepositoryInterface
Drupal\Core\Entity\EntityTypeManagerInterface
Drupal\Core\Entity\EntityTypeListenerInterface
Drupal\Core\Entity\EntityTypeBundleInfoInterface
Drupal\Core\Entity\EntityResolverManager
Drupal\Core\Entity\EntityRepositoryInterface
Drupal\Core\Entity\EntityReferenceSelection\SelectionPluginManagerInterface
Drupal\Core\Entity\EntityLastInstalledSchemaRepositoryInterface
Drupal\Core\Entity\EntityFormBuilderInterface
Drupal\Core\Entity\EntityFieldManagerInterface
Drupal\Core\Entity\EntityDisplayRepositoryInterface
Drupal\Core\Entity\EntityDefinitionUpdateManagerInterface
Drupal\Core\Entity\EntityBundleListenerInterface
Drupal\Core\Entity\EntityAutocompleteMatcherInterface
Drupal\Core\Diff\DiffFormatter
Drupal\Core\DependencyInjection\ClassResolverInterface
Drupal\Core\Datetime\DateFormatterInterface
Drupal\Core\Database\ReplicaKillSwitch
Drupal\Core\Database\EventSubscriber\StatementExecutionSubscriber
Drupal\Core\Database\Connection
Drupal\Core\CronInterface
Drupal\Core\Controller\TitleResolverInterface
Drupal\Core\Controller\HtmlFormController
Drupal\Core\Controller\ControllerResolverInterface
Drupal\Core\Config\TypedConfigManagerInterface
Drupal\Core\Config\StorageManagerInterface
Drupal\Core\Config\StorageCacheInterface
Drupal\Core\Config\ImportStorageTransformer
Drupal\Core\Config\ConfigManagerInterface
Drupal\Core\Config\ConfigInstallerInterface
Drupal\Core\Config\ConfigFactoryInterface
Drupal\Core\Cache\VariationCacheFactory
Drupal\Core\Cache\MemoryCache\MemoryCacheInterface
Drupal\Core\Cache\Context\CacheContextsManager
Drupal\Core\Cache\CacheTagsInvalidatorInterface
Drupal\Core\Cache\CacheTagsChecksumInterface
Drupal\Core\Cache\CacheFactoryInterface
Drupal\Core\Breadcrumb\ChainBreadcrumbBuilderInterface
Drupal\Core\Block\BlockManagerInterface
Drupal\Core\Batch\BatchStorageInterface
Drupal\Core\Authentication\AuthenticationProviderInterface
Drupal\Core\Authentication\AuthenticationCollectorInterface
Drupal\Core\Asset\LibraryDiscoveryParser
Drupal\Core\Asset\LibraryDiscoveryInterface
Drupal\Core\Asset\LibraryDependencyResolverInterface
Drupal\Core\Asset\LibrariesDirectoryFileFinder
Drupal\Core\Asset\AssetResolverInterface
Drupal\Core\Asset\AssetQueryStringInterface
Drupal\Core\Access\CsrfTokenGenerator
Drupal\Core\Access\CheckProviderInterface
Drupal\Core\Access\AccessManagerInterface
Drupal\Core\Access\AccessArgumentsResolverFactoryInterface
Drupal\Component\Uuid\UuidInterface
Drupal\Component\Utility\EmailValidatorInterface
Drupal\Component\Serialization\ObjectAwareSerializationInterface
Drupal\Component\DependencyInjection\ReverseContainer
Drupal\Component\Datetime\TimeInterface
diff.formatter Drupal\Core\Diff\DiffFormatter
default_plugin_manager Abstract
datetime.time Drupal\Component\Datetime\Time
date.formatter Drupal\Core\Datetime\DateFormatter
database_driver_uninstall_validator Drupal\Core\Extension\DatabaseDriverUninstallValidator
database.replica_kill_switch Drupal\Core\Database\ReplicaKillSwitch
database.replica Drupal\Core\Database\Connection
database Drupal\Core\Database\Connection
current_user Drupal\Core\Session\AccountProxy
current_route_match Drupal\Core\Routing\CurrentRouteMatch
csrf_token Drupal\Core\Access\CsrfTokenGenerator
cron Drupal\Core\Cron
country_manager Drupal\Core\Locale\CountryManager
controller_resolver Drupal\Core\Controller\ControllerResolver
controller.form Drupal\Core\Controller\HtmlFormController
controller.entity_form Drupal\Core\Entity\HtmlEntityFormController
context.repository Drupal\Core\Plugin\Context\LazyContextRepository
context.handler Drupal\Core\Plugin\Context\ContextHandler
content_uninstall_validator Drupal\Core\Entity\ContentUninstallValidator
content_type_header_matcher Drupal\Core\Routing\ContentTypeHeaderMatcher
container.trait Abstract
container.namespaces ArrayObject
config_snapshot_subscriber Drupal\Core\EventSubscriber\ConfigSnapshotSubscriber
config_import_subscriber Drupal\Core\EventSubscriber\ConfigImportSubscriber
config_exclude_modules_subscriber Drupal\Core\EventSubscriber\ExcludedModulesEventSubscriber
config.typed Drupal\Core\Config\TypedConfigManager
config.storage.sync Drupal\Core\Config\FileStorage
config.storage.snapshot Drupal\Core\Config\DatabaseStorage
config.storage.schema Drupal\Core\Config\ExtensionInstallStorage
config.storage.export.manager Drupal\Core\Config\ExportStorageManager
config.storage.export Drupal\Core\Config\ManagedStorage
config.storage.active Drupal\Core\Config\DatabaseStorage
config.storage Drupal\Core\Config\CachedStorage
config.manager Drupal\Core\Config\ConfigManager
config.installer Drupal\Core\Config\ConfigInstaller
config.import_transformer Drupal\Core\Config\ImportStorageTransformer
config.importer_subscriber Drupal\Core\Config\Importer\FinalMissingContentSubscriber
config.factory Drupal\Core\Config\ConfigFactory
client_error_response_subscriber Drupal\Core\EventSubscriber\ClientErrorResponseSubscriber
class_resolver Drupal\Core\DependencyInjection\ClassResolver
callable_resolver Drupal\Core\Utility\CallableResolver
cache_tags.invalidator.checksum Drupal\Core\Cache\DatabaseCacheTagsChecksum
cache_tags.invalidator Drupal\Core\Cache\CacheTagsInvalidator
cache_router_rebuild_subscriber Drupal\Core\EventSubscriber\CacheRouterRebuildSubscriber
cache_factory Drupal\Core\Cache\CacheFactory
cache_contexts_manager Drupal\Core\Cache\Context\CacheContextsManager
cache_context.user.roles Drupal\Core\Cache\Context\UserRolesCacheContext
cache_context.user.permissions Drupal\Core\Cache\Context\AccountPermissionsCacheContext
cache_context.user.is_super_user Drupal\Core\Cache\Context\IsSuperUserCacheContext
cache_context.user Drupal\Core\Cache\Context\UserCacheContext
cache_context.url.site Drupal\Core\Cache\Context\SiteCacheContext
cache_context.url.query_args.pagers Drupal\Core\Cache\Context\PagersCacheContext
cache_context.url.query_args Drupal\Core\Cache\Context\QueryArgsCacheContext
cache_context.url.path.parent Drupal\Core\Cache\Context\PathParentCacheContext
cache_context.url.path.is_front Drupal\Core\Cache\Context\IsFrontPathCacheContext
cache_context.url.path Drupal\Core\Cache\Context\PathCacheContext
cache_context.url Drupal\Core\Cache\Context\UrlCacheContext
cache_context.timezone Drupal\Core\Cache\Context\TimeZoneCacheContext
cache_context.theme Drupal\Core\Cache\Context\ThemeCacheContext
cache_context.session.exists Drupal\Core\Cache\Context\SessionExistsCacheContext
cache_context.session Drupal\Core\Cache\Context\SessionCacheContext
cache_context.route.name Drupal\Core\Cache\Context\RouteNameCacheContext
cache_context.route.menu_active_trails Drupal\Core\Cache\Context\MenuActiveTrailsCacheContext
cache_context.route Drupal\Core\Cache\Context\RouteCacheContext
cache_context.request_format Drupal\Core\Cache\Context\RequestFormatCacheContext
cache_context.protocol_version Drupal\Core\Cache\Context\ProtocolVersionCacheContext
cache_context.languages Drupal\Core\Cache\Context\LanguagesCacheContext
cache_context.ip Drupal\Core\Cache\Context\IpCacheContext
cache_context.headers Drupal\Core\Cache\Context\HeadersCacheContext
cache_context.cookies Drupal\Core\Cache\Context\CookiesCacheContext
cache.static Drupal\Core\Cache\CacheBackendInterface
cache.render Drupal\Core\Cache\CacheBackendInterface
cache.menu Drupal\Core\Cache\CacheBackendInterface
cache.entity Drupal\Core\Cache\CacheBackendInterface
cache.discovery Drupal\Core\Cache\CacheBackendInterface
cache.default Drupal\Core\Cache\CacheBackendInterface
cache.data Drupal\Core\Cache\CacheBackendInterface
cache.config Drupal\Core\Cache\CacheBackendInterface
cache.bootstrap Drupal\Core\Cache\CacheBackendInterface
cache.backend.php Drupal\Core\Cache\PhpBackendFactory
cache.backend.memory.memory Drupal\Core\Cache\MemoryCache\MemoryCacheFactory
cache.backend.memory Drupal\Core\Cache\MemoryBackendFactory
cache.backend.database Drupal\Core\Cache\DatabaseBackendFactory
cache.backend.chainedfast Drupal\Core\Cache\ChainedFastBackendFactory
cache.backend.apcu Drupal\Core\Cache\ApcuBackendFactory
cache.access_policy_memory Drupal\Core\Cache\CacheBackendInterface
cache.access_policy Drupal\Core\Cache\CacheBackendInterface
breadcrumb Drupal\Core\Breadcrumb\BreadcrumbManager
batch.storage Drupal\Core\Batch\BatchStorage
bare_html_page_renderer Drupal\Core\Render\BareHtmlPageRenderer
authentication_subscriber Drupal\Core\EventSubscriber\AuthenticationSubscriber
authentication_collector Drupal\Core\Authentication\AuthenticationCollector
authentication Drupal\Core\Authentication\AuthenticationManager
asset.resolver Drupal\Core\Asset\AssetResolver
asset.query_string Drupal\Core\Asset\AssetQueryString
asset.js.optimizer Drupal\Core\Asset\JsOptimizer
asset.js.dumper Drupal\Core\Asset\AssetDumper
asset.js.collection_renderer Drupal\Core\Asset\JsCollectionRenderer
asset.js.collection_optimizer Drupal\Core\Asset\JsCollectionOptimizerLazy
asset.js.collection_grouper Drupal\Core\Asset\JsCollectionGrouper
asset.css.optimizer Drupal\Core\Asset\CssOptimizer
asset.css.dumper Drupal\Core\Asset\AssetDumper
asset.css.collection_renderer Drupal\Core\Asset\CssCollectionRenderer
asset.css.collection_optimizer Drupal\Core\Asset\CssCollectionOptimizerLazy
asset.css.collection_grouper Drupal\Core\Asset\CssCollectionGrouper
argument_resolver.route_match Drupal\Core\Controller\ArgumentResolver\RouteMatchValueResolver
argument_resolver.request_attribute Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestAttributeValueResolver
argument_resolver.request Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestValueResolver
argument_resolver.psr7_request Drupal\Core\Controller\ArgumentResolver\Psr7RequestValueResolver
argument_resolver.default Symfony\Component\HttpKernel\Controller\ArgumentResolver\DefaultValueResolver
anonymous_user_response_subscriber Drupal\Core\EventSubscriber\AnonymousUserResponseSubscriber
ajax_response.subscriber Drupal\Core\EventSubscriber\AjaxResponseSubscriber
ajax_response.attachments_processor Drupal\Core\Ajax\AjaxResponseAttachmentsProcessor
account_switcher Drupal\Core\Session\AccountSwitcher
access_policy_processor Drupal\Core\Session\AccessPolicyProcessor
access_policy.user_roles Drupal\Core\Session\UserRolesAccessPolicy
access_policy.super_user Drupal\Core\Session\SuperUserAccessPolicy
access_manager.check_provider Drupal\Core\Access\CheckProvider
access_manager Drupal\Core\Access\AccessManager
access_check.theme Drupal\Core\Theme\ThemeAccessCheck
access_check.header.csrf Drupal\Core\Access\CsrfRequestHeaderAccessCheck
access_check.entity_delete_multiple Drupal\Core\Entity\EntityDeleteMultipleAccessCheck
access_check.entity_create_any Drupal\Core\Entity\EntityCreateAnyAccessCheck
access_check.entity_create Drupal\Core\Entity\EntityCreateAccessCheck
access_check.entity Drupal\Core\Entity\EntityAccessCheck
access_check.default Drupal\Core\Access\DefaultAccessCheck
access_check.custom Drupal\Core\Access\CustomAccessCheck
access_check.csrf Drupal\Core\Access\CsrfAccessCheck
access_arguments_resolver_factory Drupal\Core\Access\AccessArgumentsResolverFactory