You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2035 lines
91 KiB
2035 lines
91 KiB
parameters: |
|
# The app.root and site.path parameters are dynamically set by |
|
# \Drupal\Core\DrupalKernel::initializeContainer(). They are listed here to |
|
# allow IDEs to autocomplete them when writing new service YAML files. |
|
app.root: '' |
|
site.path: '' |
|
# \Drupal\Core\Cache\ListCacheBinsPass::process() will override this but defining this allows the cache system to |
|
# function properly before that runs. |
|
cache_default_bin_backends: [] |
|
memory_cache_default_bin_backends: [] |
|
entity.memory_cache.slots: 1000 |
|
security.enable_super_user: true |
|
core.moved_classes: |
|
'Drupal\Core\StringTranslation\TranslationWrapper': |
|
class: 'Drupal\Core\StringTranslation\TranslatableMarkup' |
|
'Doctrine\Common\Annotations\AnnotationException': |
|
class: 'Drupal\Component\Annotation\Doctrine\AnnotationException' |
|
deprecation_version: drupal:11.3.0 |
|
removed_version: drupal:12.0.0 |
|
change_record: https://www.drupal.org/node/3551049 |
|
session.storage.options: |
|
gc_probability: 1 |
|
gc_divisor: 100 |
|
gc_maxlifetime: 200000 |
|
cookie_lifetime: 2000000 |
|
cookie_samesite: Lax |
|
name_suffix: '' |
|
twig.config: |
|
debug: false |
|
auto_reload: null |
|
cache: true |
|
use_yield: true |
|
allowed_file_extensions: |
|
- css |
|
- html |
|
- js |
|
- svg |
|
- twig |
|
renderer.config: |
|
required_cache_contexts: ['languages:language_interface', 'theme', 'user.permissions'] |
|
auto_placeholder_conditions: |
|
max-age: 0 |
|
contexts: ['session', 'user'] |
|
tags: [] |
|
debug: false |
|
factory.keyvalue: |
|
default: keyvalue.database |
|
http.response.debug_cacheability_headers: false |
|
factory.keyvalue.expirable: |
|
default: keyvalue.expirable.database |
|
filter_protocols: |
|
- http |
|
- https |
|
- ftp |
|
- news |
|
- nntp |
|
- tel |
|
- telnet |
|
- mailto |
|
- irc |
|
- ssh |
|
- sftp |
|
- webcal |
|
- rtsp |
|
cors.config: |
|
enabled: false |
|
allowedHeaders: [] |
|
allowedMethods: [] |
|
allowedOrigins: ['*'] |
|
exposedHeaders: false |
|
maxAge: false |
|
supportsCredentials: false |
|
tempstore.expire: 604800 |
|
queue.config: |
|
suspendMaximumWait: 30.0 |
|
stream_wrapper.allowed_file_extensions: |
|
module: |
|
- json |
|
theme: |
|
- json |
|
services: |
|
_defaults: |
|
autoconfigure: true |
|
plugin.manager.config_action: |
|
class: Drupal\Core\Config\Action\ConfigActionManager |
|
parent: default_plugin_manager |
|
arguments: ['@config.manager', '@config.storage', '@config.typed', '@config.factory'] |
|
Drupal\Core\DefaultContent\Importer: |
|
autowire: true |
|
Drupal\Core\DefaultContent\Exporter: |
|
autowire: true |
|
calls: |
|
- [setLogger, ['@logger.channel.default_content']] |
|
Drupal\Core\DefaultContent\AdminAccountSwitcher: |
|
arguments: |
|
$isSuperUserAccessEnabled: '%security.enable_super_user%' |
|
autowire: true |
|
public: false |
|
# Simple cache contexts, directly derived from the request context. |
|
cache_context.ip: |
|
class: Drupal\Core\Cache\Context\IpCacheContext |
|
arguments: ['@request_stack'] |
|
tags: |
|
- { name: cache.context } |
|
cache_context.protocol_version: |
|
class: Drupal\Core\Cache\Context\ProtocolVersionCacheContext |
|
arguments: ['@request_stack'] |
|
tags: |
|
- { name: cache.context } |
|
cache_context.headers: |
|
class: Drupal\Core\Cache\Context\HeadersCacheContext |
|
arguments: ['@request_stack'] |
|
tags: |
|
- { name: cache.context } |
|
cache_context.cookies: |
|
class: Drupal\Core\Cache\Context\CookiesCacheContext |
|
arguments: ['@request_stack'] |
|
tags: |
|
- { name: cache.context } |
|
cache_context.session: |
|
class: Drupal\Core\Cache\Context\SessionCacheContext |
|
arguments: ['@request_stack'] |
|
tags: |
|
- { name: cache.context} |
|
cache_context.session.exists: |
|
class: Drupal\Core\Cache\Context\SessionExistsCacheContext |
|
arguments: ['@session_configuration', '@request_stack'] |
|
tags: |
|
- { name: cache.context} |
|
cache_context.request_format: |
|
class: Drupal\Core\Cache\Context\RequestFormatCacheContext |
|
arguments: ['@request_stack'] |
|
tags: |
|
- { name: cache.context } |
|
cache_context.url: |
|
class: Drupal\Core\Cache\Context\UrlCacheContext |
|
arguments: ['@request_stack'] |
|
tags: |
|
- { name: cache.context } |
|
cache_context.url.site: |
|
class: Drupal\Core\Cache\Context\SiteCacheContext |
|
arguments: ['@request_stack'] |
|
tags: |
|
- { name: cache.context } |
|
cache_context.url.path: |
|
class: Drupal\Core\Cache\Context\PathCacheContext |
|
arguments: ['@request_stack'] |
|
tags: |
|
- { name: cache.context } |
|
cache_context.url.path.parent: |
|
class: Drupal\Core\Cache\Context\PathParentCacheContext |
|
arguments: ['@request_stack'] |
|
tags: |
|
- { name: cache.context } |
|
cache_context.url.path.is_front: |
|
class: Drupal\Core\Cache\Context\IsFrontPathCacheContext |
|
arguments: ['@path.matcher'] |
|
tags: |
|
- { name: cache.context } |
|
cache_context.url.query_args: |
|
class: Drupal\Core\Cache\Context\QueryArgsCacheContext |
|
arguments: ['@request_stack'] |
|
tags: |
|
- { name: cache.context } |
|
cache_context.url.query_args.pagers: |
|
class: Drupal\Core\Cache\Context\PagersCacheContext |
|
arguments: ['@pager.parameters'] |
|
tags: |
|
- { name: cache.context } |
|
|
|
# Complex cache contexts, that depend on the routing system. |
|
cache_context.route: |
|
class: Drupal\Core\Cache\Context\RouteCacheContext |
|
arguments: ['@current_route_match'] |
|
tags: |
|
- { name: cache.context } |
|
cache_context.route.name: |
|
class: Drupal\Core\Cache\Context\RouteNameCacheContext |
|
arguments: ['@current_route_match'] |
|
tags: |
|
- { name: cache.context } |
|
cache_context.route.menu_active_trails: |
|
class: Drupal\Core\Cache\Context\MenuActiveTrailsCacheContext |
|
arguments: ['@menu.active_trail'] |
|
tags: |
|
- { name: cache.context } |
|
|
|
# Complex cache contexts, that may be calculated from a combination of |
|
# multiple aspects of the request context plus additional logic. Hence they |
|
# are their own roots. |
|
cache_context.user: |
|
class: Drupal\Core\Cache\Context\UserCacheContext |
|
arguments: ['@current_user'] |
|
tags: |
|
- { name: cache.context} |
|
cache_context.user.permissions: |
|
class: Drupal\Core\Cache\Context\AccountPermissionsCacheContext |
|
arguments: ['@current_user', '@user_permissions_hash_generator'] |
|
tags: |
|
- { name: cache.context} |
|
cache_context.user.roles: |
|
class: Drupal\Core\Cache\Context\UserRolesCacheContext |
|
arguments: ['@current_user'] |
|
tags: |
|
- { name: cache.context} |
|
cache_context.user.is_super_user: |
|
class: Drupal\Core\Cache\Context\IsSuperUserCacheContext |
|
arguments: ['@current_user'] |
|
tags: |
|
- { name: cache.context} |
|
cache_context.languages: |
|
class: Drupal\Core\Cache\Context\LanguagesCacheContext |
|
arguments: ['@language_manager'] |
|
tags: |
|
- { name: cache.context} |
|
cache_context.theme: |
|
class: Drupal\Core\Cache\Context\ThemeCacheContext |
|
arguments: ['@theme.manager'] |
|
tags: |
|
- { name: cache.context} |
|
cache_context.timezone: |
|
class: Drupal\Core\Cache\Context\TimeZoneCacheContext |
|
tags: |
|
- { name: cache.context} |
|
|
|
cache_factory: |
|
class: Drupal\Core\Cache\CacheFactory |
|
arguments: ['@settings', '%cache_default_bin_backends%', '%memory_cache_default_bin_backends%'] |
|
calls: |
|
- [setContainer, ['@service_container']] |
|
Drupal\Core\Cache\CacheFactoryInterface: '@cache_factory' |
|
variation_cache_factory: |
|
class: Drupal\Core\Cache\VariationCacheFactory |
|
arguments: ['@request_stack', '@cache_factory', '@cache_contexts_manager'] |
|
Drupal\Core\Cache\VariationCacheFactory: '@variation_cache_factory' |
|
cache_contexts_manager: |
|
class: Drupal\Core\Cache\Context\CacheContextsManager |
|
arguments: ['@service_container', '%cache_contexts%' ] |
|
Drupal\Core\Cache\Context\CacheContextsManager: '@cache_contexts_manager' |
|
cache_tags.invalidator: |
|
class: Drupal\Core\Cache\CacheTagsInvalidator |
|
tags: |
|
- { name: service_collector, call: addInvalidator, tag: cache_tags_invalidator } |
|
- { name: service_collector, call: addBin, tag: cache.bin } |
|
- { name: service_collector, call: addBin, tag: cache.bin.memory } |
|
Drupal\Core\Cache\CacheTagsInvalidatorInterface: '@cache_tags.invalidator' |
|
cache_tags.invalidator.checksum: |
|
class: Drupal\Core\Cache\DatabaseCacheTagsChecksum |
|
arguments: ['@database'] |
|
tags: |
|
- { name: cache_tags_invalidator} |
|
- { name: backend_overridable } |
|
Drupal\Core\Cache\CacheTagsChecksumInterface: '@cache_tags.invalidator.checksum' |
|
cache_tags.preloader: |
|
class: Drupal\Core\Cache\EventSubscriber\CacheTagPreloadSubscriber |
|
autowire: true |
|
cache.backend.chainedfast: |
|
class: Drupal\Core\Cache\ChainedFastBackendFactory |
|
arguments: ['@settings'] |
|
calls: |
|
- [setContainer, ['@service_container']] |
|
cache.backend.database: |
|
class: Drupal\Core\Cache\DatabaseBackendFactory |
|
arguments: ['@database', '@cache_tags.invalidator.checksum', '@settings', '@serialization.phpserialize', '@datetime.time'] |
|
tags: |
|
- { name: backend_overridable } |
|
cache.backend.apcu: |
|
class: Drupal\Core\Cache\ApcuBackendFactory |
|
arguments: ['%app.root%', '%site.path%', '@cache_tags.invalidator.checksum', '@datetime.time'] |
|
cache.backend.php: |
|
class: Drupal\Core\Cache\PhpBackendFactory |
|
arguments: ['@cache_tags.invalidator.checksum', '@datetime.time'] |
|
cache.backend.memory: |
|
class: Drupal\Core\Cache\MemoryBackendFactory |
|
arguments: ['@datetime.time'] |
|
deprecated: 'The "%service_id%" service is deprecated in drupal:11.3.0 and is removed from drupal:13.0.0. Use cache.backend.memory.memory instead. See https://www.drupal.org/node/3546856' |
|
cache.backend.memory.memory: |
|
class: Drupal\Core\Cache\MemoryCache\MemoryCacheFactory |
|
arguments: ['@datetime.time'] |
|
# A special cache bin that does not persist beyond the length of the request. |
|
cache.static: |
|
class: Drupal\Core\Cache\CacheBackendInterface |
|
tags: |
|
- { name: cache.bin, default_backend: cache.backend.memory } |
|
deprecated: 'The "%service_id%" service is deprecated in drupal:11.3.0 and is removed from drupal:13.0.0. Use the cache.memory bin instead. See https://www.drupal.org/node/3546856' |
|
factory: ['@cache_factory', 'get'] |
|
arguments: [static] |
|
cache.bootstrap: |
|
class: Drupal\Core\Cache\CacheBackendInterface |
|
tags: |
|
- { name: cache.bin, default_backend: cache.backend.chainedfast } |
|
factory: ['@cache_factory', 'get'] |
|
arguments: [bootstrap] |
|
cache.config: |
|
class: Drupal\Core\Cache\CacheBackendInterface |
|
tags: |
|
- { name: cache.bin, default_backend: cache.backend.chainedfast } |
|
factory: ['@cache_factory', 'get'] |
|
arguments: [config] |
|
cache.default: |
|
class: Drupal\Core\Cache\CacheBackendInterface |
|
tags: |
|
- { name: cache.bin } |
|
factory: ['@cache_factory', 'get'] |
|
arguments: [default] |
|
cache.entity: |
|
class: Drupal\Core\Cache\CacheBackendInterface |
|
tags: |
|
- { name: cache.bin } |
|
factory: ['@cache_factory', 'get'] |
|
arguments: [entity] |
|
cache.menu: |
|
class: Drupal\Core\Cache\CacheBackendInterface |
|
tags: |
|
- { name: cache.bin } |
|
factory: ['@cache_factory', 'get'] |
|
arguments: [menu] |
|
cache.render: |
|
class: Drupal\Core\Cache\CacheBackendInterface |
|
tags: |
|
- { name: cache.bin } |
|
factory: ['@cache_factory', 'get'] |
|
arguments: [render] |
|
cache.access_policy: |
|
class: Drupal\Core\Cache\CacheBackendInterface |
|
tags: |
|
- { name: cache.bin } |
|
factory: ['@cache_factory', 'get'] |
|
arguments: [access_policy] |
|
cache.access_policy_memory: |
|
class: Drupal\Core\Cache\CacheBackendInterface |
|
tags: |
|
- { name: cache.bin.memory, default_backend: cache.backend.memory.memory } |
|
factory: ['@cache_factory', 'get'] |
|
arguments: [access_policy_memory] |
|
cache.data: |
|
class: Drupal\Core\Cache\CacheBackendInterface |
|
tags: |
|
- { name: cache.bin } |
|
factory: ['@cache_factory', 'get'] |
|
arguments: [data] |
|
cache.discovery: |
|
class: Drupal\Core\Cache\CacheBackendInterface |
|
tags: |
|
- { name: cache.bin, default_backend: cache.backend.chainedfast } |
|
factory: ['@cache_factory', 'get'] |
|
arguments: [discovery] |
|
cache.memory: |
|
class: Drupal\Core\Cache\MemoryCache\MemoryCacheInterface |
|
tags: |
|
- { name: cache.bin.memory, default_backend: cache.backend.memory.memory } |
|
factory: ['@cache_factory', 'get'] |
|
arguments: [memory] |
|
cache_prewarmer: |
|
class: Drupal\Core\PreWarm\CachePreWarmer |
|
arguments: ['@class_resolver'] |
|
tags: |
|
- { name: service_id_collector, tag: cache_prewarmable } |
|
Drupal\Core\PreWarm\CachePreWarmerInterface: '@cache_prewarmer' |
|
variation_cache.access_policy: |
|
class: Drupal\Core\Cache\VariationCacheInterface |
|
factory: ['@variation_cache_factory', 'get'] |
|
arguments: [access_policy] |
|
variation_cache.access_policy_memory: |
|
class: Drupal\Core\Cache\VariationCacheInterface |
|
factory: ['@variation_cache_factory', 'get'] |
|
arguments: [access_policy_memory] |
|
Drupal\Core\Asset\AssetQueryStringInterface: '@asset.query_string' |
|
asset.query_string: |
|
class: Drupal\Core\Asset\AssetQueryString |
|
arguments: |
|
- '@state' |
|
- '@datetime.time' |
|
cache_router_rebuild_subscriber: |
|
class: Drupal\Core\EventSubscriber\CacheRouterRebuildSubscriber |
|
page_cache_request_policy: |
|
class: Drupal\Core\PageCache\DefaultRequestPolicy |
|
arguments: ['@session_configuration'] |
|
tags: |
|
- { name: service_collector, tag: page_cache_request_policy, call: addPolicy} |
|
Drupal\Core\PageCache\RequestPolicyInterface: '@page_cache_request_policy' |
|
page_cache_response_policy: |
|
class: Drupal\Core\PageCache\ChainResponsePolicy |
|
tags: |
|
- { name: service_collector, tag: page_cache_response_policy, call: addPolicy} |
|
lazy: true |
|
Drupal\Core\PageCache\ResponsePolicyInterface: '@page_cache_response_policy' |
|
page_cache_kill_switch: |
|
class: Drupal\Core\PageCache\ResponsePolicy\KillSwitch |
|
tags: |
|
- { name: page_cache_response_policy } |
|
- { name: dynamic_page_cache_response_policy } |
|
Drupal\Core\PageCache\ResponsePolicy\KillSwitch: '@page_cache_kill_switch' |
|
page_cache_no_cache_routes: |
|
class: Drupal\Core\PageCache\ResponsePolicy\DenyNoCacheRoutes |
|
arguments: ['@current_route_match'] |
|
public: false |
|
tags: |
|
- { name: page_cache_response_policy } |
|
- { name: dynamic_page_cache_response_policy } |
|
page_cache_no_server_error: |
|
class: Drupal\Core\PageCache\ResponsePolicy\NoServerError |
|
public: false |
|
tags: |
|
- { name: page_cache_response_policy } |
|
- { name: dynamic_page_cache_response_policy } |
|
config.manager: |
|
class: Drupal\Core\Config\ConfigManager |
|
arguments: ['@entity_type.manager', '@config.factory', '@config.typed', '@string_translation', '@config.storage', '@event_dispatcher', '@entity.repository', '@extension.path.resolver'] |
|
Drupal\Core\Config\ConfigManagerInterface: '@config.manager' |
|
config.factory: |
|
class: Drupal\Core\Config\ConfigFactory |
|
tags: |
|
- { name: service_collector, tag: 'config.factory.override', call: addOverride } |
|
arguments: ['@config.storage', '@event_dispatcher', '@config.typed'] |
|
Drupal\Core\Config\ConfigFactoryInterface: '@config.factory' |
|
Drupal\Core\Config\ConfigImporterFactory: |
|
autowire: true |
|
config.importer_subscriber: |
|
class: Drupal\Core\Config\Importer\FinalMissingContentSubscriber |
|
config.installer: |
|
class: Drupal\Core\Config\ConfigInstaller |
|
arguments: ['@config.factory', '@config.storage', '@config.typed', '@config.manager', '@event_dispatcher', '%install_profile%', '@extension.path.resolver'] |
|
lazy: true |
|
Drupal\Core\Config\ConfigInstallerInterface: '@config.installer' |
|
config.storage: |
|
class: Drupal\Core\Config\CachedStorage |
|
arguments: ['@config.storage.active', '@cache.config'] |
|
Drupal\Core\Config\StorageCacheInterface: '@config.storage' |
|
config.storage.active: |
|
class: Drupal\Core\Config\DatabaseStorage |
|
arguments: ['@database', 'config'] |
|
public: false |
|
tags: |
|
- { name: backend_overridable } |
|
config.storage.checkpoint: |
|
class: Drupal\Core\Config\Checkpoint\CheckpointStorage |
|
arguments: [ '@config.storage', '@config.checkpoints', '@keyvalue' ] |
|
Drupal\Core\Config\Checkpoint\CheckpointStorageInterface: '@config.storage.checkpoint' |
|
config.checkpoints: |
|
class: Drupal\Core\Config\Checkpoint\LinearHistory |
|
arguments: [ '@state', '@datetime.time' ] |
|
Drupal\Core\Config\Checkpoint\CheckpointListInterface: '@config.checkpoints' |
|
config.import_transformer: |
|
class: Drupal\Core\Config\ImportStorageTransformer |
|
arguments: ['@event_dispatcher', '@database', '@lock', '@lock.persistent'] |
|
Drupal\Core\Config\ImportStorageTransformer: '@config.import_transformer' |
|
config.storage.export: |
|
class: Drupal\Core\Config\ManagedStorage |
|
arguments: ['@config.storage.export.manager'] |
|
config.storage.export.manager: |
|
class: Drupal\Core\Config\ExportStorageManager |
|
arguments: ['@config.storage', '@database', '@event_dispatcher', '@lock'] |
|
public: false |
|
Drupal\Core\Config\StorageManagerInterface: '@config.storage.export.manager' |
|
config.storage.sync: |
|
class: Drupal\Core\Config\FileStorage |
|
factory: Drupal\Core\Config\FileStorageFactory::getSync |
|
config.storage.snapshot: |
|
class: Drupal\Core\Config\DatabaseStorage |
|
arguments: ['@database', config_snapshot] |
|
tags: |
|
- { name: backend_overridable } |
|
config.storage.schema: |
|
class: Drupal\Core\Config\ExtensionInstallStorage |
|
arguments: ['@config.storage', 'config/schema', '', true, '%install_profile%'] |
|
config.typed: |
|
class: Drupal\Core\Config\TypedConfigManager |
|
arguments: ['@config.storage', '@config.storage.schema', '@cache.discovery', '@module_handler', '@class_resolver'] |
|
tags: |
|
- { name: plugin_manager_cache_clear } |
|
calls: |
|
- [setValidationConstraintManager, ['@validation.constraint']] |
|
Drupal\Core\Config\TypedConfigManagerInterface: '@config.typed' |
|
context.handler: |
|
class: Drupal\Core\Plugin\Context\ContextHandler |
|
Drupal\Core\Plugin\Context\ContextHandlerInterface: '@context.handler' |
|
context.repository: |
|
class: Drupal\Core\Plugin\Context\LazyContextRepository |
|
arguments: ['@service_container'] |
|
tags: |
|
- { name: service_id_collector, tag: context_provider } |
|
Drupal\Core\Plugin\Context\ContextRepositoryInterface: '@context.repository' |
|
Drupal\Component\DependencyInjection\ReverseContainer: |
|
arguments: [ '@service_container' ] |
|
cron: |
|
class: Drupal\Core\Cron |
|
arguments: ['@module_handler', '@lock', '@queue', '@state', '@account_switcher', '@logger.channel.cron', '@plugin.manager.queue_worker', '@datetime.time', '%queue.config%'] |
|
Drupal\Core\CronInterface: '@cron' |
|
diff.formatter: |
|
class: Drupal\Core\Diff\DiffFormatter |
|
arguments: ['@config.factory'] |
|
Drupal\Core\Diff\DiffFormatter: '@diff.formatter' |
|
database: |
|
class: Drupal\Core\Database\Connection |
|
factory: Drupal\Core\Database\Database::getConnection |
|
arguments: [default] |
|
Drupal\Core\Database\Connection: '@database' |
|
database.replica: |
|
class: Drupal\Core\Database\Connection |
|
factory: Drupal\Core\Database\Database::getConnection |
|
arguments: [replica] |
|
database.replica_kill_switch: |
|
class: Drupal\Core\Database\ReplicaKillSwitch |
|
arguments: ['@settings', '@datetime.time', '@session'] |
|
Drupal\Core\Database\ReplicaKillSwitch: '@database.replica_kill_switch' |
|
Drupal\Core\Database\EventSubscriber\StatementExecutionSubscriber: ~ |
|
datetime.time: |
|
class: Drupal\Component\Datetime\Time |
|
arguments: ['@request_stack'] |
|
Drupal\Component\Datetime\TimeInterface: '@datetime.time' |
|
file_system: |
|
class: Drupal\Core\File\FileSystem |
|
arguments: ['@stream_wrapper_manager', '@settings'] |
|
Drupal\Core\File\FileSystemInterface: '@file_system' |
|
file_url_generator: |
|
class: Drupal\Core\File\FileUrlGenerator |
|
arguments: ['@stream_wrapper_manager', '@request_stack', '@module_handler'] |
|
Drupal\Core\File\FileUrlGeneratorInterface: '@file_url_generator' |
|
form_builder: |
|
class: Drupal\Core\Form\FormBuilder |
|
arguments: ['@form_validator', '@form_submitter', '@form_cache', '@module_handler', '@event_dispatcher', '@request_stack', '@class_resolver', '@element_info', '@theme.manager', '@?csrf_token', '@callable_resolver'] |
|
Drupal\Core\Form\FormBuilderInterface: '@form_builder' |
|
form_validator: |
|
class: Drupal\Core\Form\FormValidator |
|
arguments: ['@request_stack', '@string_translation', '@csrf_token', '@logger.channel.form', '@form_error_handler', '@callable_resolver'] |
|
Drupal\Core\Form\FormValidatorInterface: '@form_validator' |
|
form_submitter: |
|
class: Drupal\Core\Form\FormSubmitter |
|
arguments: ['@request_stack', '@url_generator', '@redirect_response_subscriber', '@callable_resolver'] |
|
Drupal\Core\Form\FormSubmitterInterface: '@form_submitter' |
|
form_error_handler: |
|
class: Drupal\Core\Form\FormErrorHandler |
|
Drupal\Core\Form\FormErrorHandlerInterface: '@form_error_handler' |
|
form_cache: |
|
class: Drupal\Core\Form\FormCache |
|
arguments: ['%app.root%', '@keyvalue.expirable', '@module_handler', '@current_user', '@csrf_token', '@logger.channel.form', '@request_stack', '@page_cache_request_policy'] |
|
public: false # Private to form_builder |
|
Drupal\Core\Form\FormCacheInterface: '@form_cache' |
|
Drupal\Core\Form\FormPreprocess: |
|
class: Drupal\Core\Form\FormPreprocess |
|
keyvalue: |
|
class: Drupal\Core\KeyValueStore\KeyValueFactory |
|
arguments: ['@service_container', '%factory.keyvalue%'] |
|
Drupal\Core\KeyValueStore\KeyValueFactoryInterface: '@keyvalue' |
|
keyvalue.database: |
|
class: Drupal\Core\KeyValueStore\KeyValueDatabaseFactory |
|
arguments: ['@serialization.phpserialize', '@database'] |
|
keyvalue.expirable: |
|
class: Drupal\Core\KeyValueStore\KeyValueExpirableFactory |
|
arguments: ['@service_container', '%factory.keyvalue.expirable%'] |
|
Drupal\Core\KeyValueStore\KeyValueExpirableFactoryInterface: '@keyvalue.expirable' |
|
keyvalue.expirable.database: |
|
class: Drupal\Core\KeyValueStore\KeyValueDatabaseExpirableFactory |
|
arguments: ['@serialization.phpserialize', '@database', '@datetime.time'] |
|
logger.factory: |
|
class: Drupal\Core\Logger\LoggerChannelFactory |
|
arguments: ['@request_stack', '@current_user'] |
|
tags: |
|
- { name: service_collector, tag: logger, call: addLogger } |
|
Drupal\Core\Logger\LoggerChannelFactoryInterface: '@logger.factory' |
|
logger.channel_base: |
|
abstract: true |
|
class: Drupal\Core\Logger\LoggerChannel |
|
factory: ['@logger.factory', 'get'] |
|
logger.channel.default: |
|
parent: logger.channel_base |
|
arguments: ['system'] |
|
logger.channel.default_content: |
|
parent: logger.channel_base |
|
arguments: ['default_content'] |
|
logger.channel.php: |
|
parent: logger.channel_base |
|
arguments: ['php'] |
|
logger.channel.image: |
|
parent: logger.channel_base |
|
arguments: ['image'] |
|
logger.channel.cron: |
|
parent: logger.channel_base |
|
arguments: ['cron'] |
|
logger.channel.file: |
|
class: Drupal\Core\Logger\LoggerChannel |
|
factory: ['@logger.factory', 'get'] |
|
arguments: ['file'] |
|
logger.channel.form: |
|
parent: logger.channel_base |
|
arguments: ['form'] |
|
logger.channel.security: |
|
parent: logger.channel_base |
|
arguments: ['security'] |
|
logger.channel.mail: |
|
parent: logger.channel_base |
|
arguments: ['mail'] |
|
logger.channel.menu: |
|
parent: logger.channel_base |
|
arguments: ['menu'] |
|
logger.channel.router: |
|
parent: logger.channel_base |
|
arguments: ['router'] |
|
logger.log_message_parser: |
|
class: Drupal\Core\Logger\LogMessageParser |
|
Drupal\Core\Logger\LogMessageParserInterface: '@logger.log_message_parser' |
|
|
|
serialization.json: |
|
class: Drupal\Component\Serialization\Json |
|
serialization.phpserialize: |
|
class: Drupal\Component\Serialization\PhpSerialize |
|
Drupal\Component\Serialization\ObjectAwareSerializationInterface: '@serialization.phpserialize' |
|
serialization.yaml: |
|
class: Drupal\Component\Serialization\Yaml |
|
|
|
settings: |
|
class: Drupal\Core\Site\Settings |
|
factory: Drupal\Core\Site\Settings::getInstance |
|
Drupal\Core\Site\Settings: '@settings' |
|
state: |
|
class: Drupal\Core\State\State |
|
arguments: ['@keyvalue', '@cache.bootstrap', '@lock'] |
|
tags: |
|
- { name: needs_destruction } |
|
Drupal\Core\State\StateInterface: '@state' |
|
queue: |
|
class: Drupal\Core\Queue\QueueFactory |
|
autowire: true |
|
Drupal\Core\Queue\QueueFactory: '@queue' |
|
queue.database: |
|
class: Drupal\Core\Queue\QueueDatabaseFactory |
|
arguments: ['@database'] |
|
Drupal\Core\Queue\QueueDatabaseFactory: '@queue.database' |
|
path.current: |
|
class: Drupal\Core\Path\CurrentPathStack |
|
arguments: ['@request_stack'] |
|
Drupal\Core\Path\CurrentPathStack: '@path.current' |
|
http_handler_stack: |
|
class: GuzzleHttp\HandlerStack |
|
public: false |
|
factory: GuzzleHttp\HandlerStack::create |
|
configurator: ['@http_handler_stack_configurator', configure] |
|
GuzzleHttp\HandlerStack: '@http_handler_stack' |
|
http_handler_stack_configurator: |
|
class: Drupal\Core\Http\HandlerStackConfigurator |
|
public: false |
|
arguments: ['@service_container'] |
|
tags: |
|
- { name: service_id_collector, tag: http_client_middleware } |
|
Drupal\Core\Http\HandlerStackConfigurator: '@http_handler_stack_configurator' |
|
http_client: |
|
class: GuzzleHttp\Client |
|
factory: ['@http_client_factory', 'fromOptions'] |
|
GuzzleHttp\ClientInterface: '@http_client' |
|
Psr\Http\Client\ClientInterface: '@http_client' |
|
http_client_factory: |
|
class: Drupal\Core\Http\ClientFactory |
|
arguments: ['@http_handler_stack'] |
|
Drupal\Core\Http\ClientFactory: '@http_client_factory' |
|
plugin.manager.link_relation_type: |
|
class: \Drupal\Core\Http\LinkRelationTypeManager |
|
arguments: ['%app.root%', '@module_handler', '@cache.discovery'] |
|
theme.negotiator: |
|
class: Drupal\Core\Theme\ThemeNegotiator |
|
arguments: ['@access_check.theme', '@class_resolver'] |
|
tags: |
|
- { name: service_id_collector, tag: theme_negotiator } |
|
Drupal\Core\Theme\ThemeNegotiatorInterface: '@theme.negotiator' |
|
theme.negotiator.default: |
|
class: Drupal\Core\Theme\DefaultNegotiator |
|
arguments: ['@config.factory'] |
|
tags: |
|
- { name: theme_negotiator, priority: -100 } |
|
theme.negotiator.ajax_base_page: |
|
class: Drupal\Core\Theme\AjaxBasePageNegotiator |
|
arguments: ['@csrf_token', '@config.factory', '@request_stack'] |
|
tags: |
|
- { name: theme_negotiator, priority: 1000 } |
|
container.namespaces: |
|
class: ArrayObject |
|
arguments: [ '%container.namespaces%' ] |
|
container.trait: |
|
abstract: true |
|
calls: |
|
- [setContainer, ['@service_container']] |
|
default_plugin_manager: |
|
abstract: true |
|
arguments: ['@container.namespaces', '@cache.discovery', '@module_handler'] |
|
module_handler: |
|
class: Drupal\Core\Extension\ModuleHandler |
|
arguments: ['%app.root%', '%container.modules%', '@keyvalue', '@callable_resolver', '@cache.bootstrap'] |
|
Drupal\Core\Extension\ModuleHandlerInterface: '@module_handler' |
|
module_installer: |
|
class: Drupal\Core\Extension\ModuleInstaller |
|
autowire: true |
|
lazy: true |
|
Drupal\Core\Extension\ModuleInstallerInterface: '@module_installer' |
|
module_installer.uninstall_validators: |
|
class: \IteratorIterator |
|
arguments: [!tagged_iterator module_install.uninstall_validator] |
|
deprecated: The "%service_id%" service is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Inject "!tagged_iterator module_install.uninstall_validator" instead. See https://www.drupal.org/node/3432595 |
|
extension.list.module: |
|
class: Drupal\Core\Extension\ModuleExtensionList |
|
arguments: ['%app.root%', 'module', '@cache.default', '@info_parser', '@module_handler', '@state', '@config.factory', '@extension.list.profile', '%install_profile%', '%container.modules%'] |
|
Drupal\Core\Extension\ModuleExtensionList: '@extension.list.module' |
|
extension.list.profile: |
|
class: Drupal\Core\Extension\ProfileExtensionList |
|
arguments: ['%app.root%', 'profile', '@cache.default', '@info_parser', '@module_handler', '@state', '%install_profile%'] |
|
Drupal\Core\Extension\ProfileExtensionList: '@extension.list.profile' |
|
extension.list.theme: |
|
class: Drupal\Core\Extension\ThemeExtensionList |
|
arguments: ['%app.root%', 'theme', '@cache.bootstrap', '@info_parser', '@module_handler', '@state', '@config.factory', '@extension.list.theme_engine', '%install_profile%'] |
|
Drupal\Core\Extension\ThemeExtensionList: '@extension.list.theme' |
|
extension.list.theme_engine: |
|
class: Drupal\Core\Extension\ThemeEngineExtensionList |
|
arguments: ['%app.root%', 'theme_engine', '@cache.default', '@info_parser', '@module_handler', '@state', '%install_profile%'] |
|
Drupal\Core\Extension\ThemeEngineExtensionList: '@extension.list.theme_engine' |
|
extension.list.database_driver: |
|
class: Drupal\Core\Extension\DatabaseDriverList |
|
arguments: ['%app.root%', 'database_driver', '@cache.default'] |
|
Drupal\Core\Extension\DatabaseDriverList: '@extension.list.database_driver' |
|
extension.path.resolver: |
|
class: Drupal\Core\Extension\ExtensionPathResolver |
|
arguments: ['@extension.list.module', '@extension.list.profile', '@extension.list.theme', '@extension.list.theme_engine'] |
|
Drupal\Core\Extension\ExtensionPathResolver: '@extension.path.resolver' |
|
content_uninstall_validator: |
|
class: Drupal\Core\Entity\ContentUninstallValidator |
|
arguments: ['@entity_type.manager', '@string_translation'] |
|
required_module_uninstall_validator: |
|
class: Drupal\Core\Extension\RequiredModuleUninstallValidator |
|
arguments: ['@string_translation', '@extension.list.module'] |
|
module_required_by_themes_uninstall_validator: |
|
class: Drupal\Core\Extension\ModuleRequiredByThemesUninstallValidator |
|
arguments: ['@string_translation', '@extension.list.module', '@extension.list.theme'] |
|
database_driver_uninstall_validator: |
|
class: Drupal\Core\Extension\DatabaseDriverUninstallValidator |
|
arguments: ['@string_translation', '@extension.list.module', '@database'] |
|
install_profile_uninstall_validator: |
|
class: Drupal\Core\Extension\InstallProfileUninstallValidator |
|
arguments: ['@string_translation', '@extension.list.module', '@extension.list.theme', '%install_profile%', '%app.root%', '%site.path%'] |
|
theme_handler: |
|
class: Drupal\Core\Extension\ThemeHandler |
|
arguments: ['%app.root%', '@config.factory', '@extension.list.theme'] |
|
Drupal\Core\Extension\ThemeHandlerInterface: '@theme_handler' |
|
theme_installer: |
|
class: Drupal\Core\Extension\ThemeInstaller |
|
autowire: true |
|
Drupal\Core\Extension\ThemeInstallerInterface: '@theme_installer' |
|
entity.memory_cache: |
|
class: Drupal\Core\Cache\MemoryCache\LruMemoryCache |
|
arguments: ['@datetime.time', '%entity.memory_cache.slots%'] |
|
Drupal\Core\Cache\MemoryCache\MemoryCacheInterface: |
|
alias: 'entity.memory_cache' |
|
deprecated: 'The "%alias_id%" service is deprecated in drupal:11.3.0 and is removed from drupal:13.0.0. Use #Autowire to pick a specific cache bin, such as cache.memory. See https://www.drupal.org/node/3546856' |
|
entity_type.manager: |
|
class: Drupal\Core\Entity\EntityTypeManager |
|
arguments: ['@container.namespaces', '@module_handler', '@cache.discovery', '@string_translation', '@class_resolver', '@entity.last_installed_schema.repository', '@service_container'] |
|
tags: |
|
- { name: plugin_manager_cache_clear } |
|
Drupal\Core\Entity\EntityTypeManagerInterface: '@entity_type.manager' |
|
entity_type.repository: |
|
class: Drupal\Core\Entity\EntityTypeRepository |
|
arguments: ['@entity_type.manager', '@entity_type.bundle.info'] |
|
Drupal\Core\Entity\EntityTypeRepositoryInterface: '@entity_type.repository' |
|
entity_type.bundle.info: |
|
class: Drupal\Core\Entity\EntityTypeBundleInfo |
|
arguments: ['@entity_type.manager', '@language_manager', '@module_handler', '@typed_data_manager', '@cache.discovery'] |
|
Drupal\Core\Entity\EntityTypeBundleInfoInterface: '@entity_type.bundle.info' |
|
entity.repository: |
|
class: Drupal\Core\Entity\EntityRepository |
|
arguments: ['@entity_type.manager', '@language_manager', '@context.repository'] |
|
Drupal\Core\Entity\EntityRepositoryInterface: '@entity.repository' |
|
entity_display.repository: |
|
class: Drupal\Core\Entity\EntityDisplayRepository |
|
arguments: ['@entity_type.manager', '@module_handler', '@cache.discovery', '@language_manager'] |
|
Drupal\Core\Entity\EntityDisplayRepositoryInterface: '@entity_display.repository' |
|
entity_field.manager: |
|
class: Drupal\Core\Entity\EntityFieldManager |
|
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'] |
|
Drupal\Core\Entity\EntityFieldManagerInterface: '@entity_field.manager' |
|
entity_type.listener: |
|
class: Drupal\Core\Entity\EntityTypeListener |
|
arguments: ['@entity_type.manager', '@entity_field.manager', '@event_dispatcher', '@entity.last_installed_schema.repository'] |
|
Drupal\Core\Entity\EntityTypeListenerInterface: '@entity_type.listener' |
|
entity_bundle.listener: |
|
class: Drupal\Core\Entity\EntityBundleListener |
|
arguments: ['@entity_type.manager', '@entity_type.bundle.info', '@entity_field.manager', '@module_handler'] |
|
Drupal\Core\Entity\EntityBundleListenerInterface: '@entity_bundle.listener' |
|
entity_route_subscriber: |
|
class: Drupal\Core\EventSubscriber\EntityRouteProviderSubscriber |
|
arguments: ['@entity_type.manager'] |
|
entity.definition_update_manager: |
|
class: Drupal\Core\Entity\EntityDefinitionUpdateManager |
|
arguments: ['@entity_type.manager', '@entity.last_installed_schema.repository', '@entity_field.manager', '@entity_type.listener', '@field_storage_definition.listener'] |
|
Drupal\Core\Entity\EntityDefinitionUpdateManagerInterface: '@entity.definition_update_manager' |
|
entity.last_installed_schema.repository: |
|
class: Drupal\Core\Entity\EntityLastInstalledSchemaRepository |
|
arguments: ['@keyvalue', '@cache.discovery'] |
|
Drupal\Core\Entity\EntityLastInstalledSchemaRepositoryInterface: '@entity.last_installed_schema.repository' |
|
entity_field.deleted_fields_repository: |
|
class: Drupal\Core\Field\DeletedFieldsRepository |
|
arguments: ['@state'] |
|
Drupal\Core\Field\DeletedFieldsRepositoryInterface: '@entity_field.deleted_fields_repository' |
|
field_storage_definition.listener: |
|
class: Drupal\Core\Field\FieldStorageDefinitionListener |
|
arguments: ['@entity_type.manager', '@event_dispatcher', '@entity.last_installed_schema.repository', '@entity_field.manager', '@entity_field.deleted_fields_repository'] |
|
Drupal\Core\Field\FieldStorageDefinitionListenerInterface: '@field_storage_definition.listener' |
|
field_definition.listener: |
|
class: Drupal\Core\Field\FieldDefinitionListener |
|
arguments: ['@entity_type.manager', '@entity_field.manager', '@keyvalue', '@cache.discovery'] |
|
Drupal\Core\Field\FieldDefinitionListenerInterface: '@field_definition.listener' |
|
Drupal\Core\Field\FieldPreprocess: |
|
class: Drupal\Core\Field\FieldPreprocess |
|
autowire: true |
|
entity.form_builder: |
|
class: Drupal\Core\Entity\EntityFormBuilder |
|
arguments: ['@entity_type.manager', '@form_builder'] |
|
Drupal\Core\Entity\EntityFormBuilderInterface: '@entity.form_builder' |
|
entity.bundle_config_import_validator: |
|
class: Drupal\Core\Entity\Event\BundleConfigImportValidate |
|
arguments: ['@config.manager', '@entity_type.manager'] |
|
entity.autocomplete_matcher: |
|
class: Drupal\Core\Entity\EntityAutocompleteMatcher |
|
arguments: ['@plugin.manager.entity_reference_selection'] |
|
Drupal\Core\Entity\EntityAutocompleteMatcherInterface: '@entity.autocomplete_matcher' |
|
plugin_form.factory: |
|
class: Drupal\Core\Plugin\PluginFormFactory |
|
arguments: ['@class_resolver'] |
|
Drupal\Core\Plugin\PluginFormFactoryInterface: '@plugin_form.factory' |
|
plugin.manager.entity_reference_selection: |
|
class: Drupal\Core\Entity\EntityReferenceSelection\SelectionPluginManager |
|
parent: default_plugin_manager |
|
Drupal\Core\Entity\EntityReferenceSelection\SelectionPluginManagerInterface: '@plugin.manager.entity_reference_selection' |
|
plugin.manager.block: |
|
class: Drupal\Core\Block\BlockManager |
|
parent: default_plugin_manager |
|
arguments: ['@logger.channel.default'] |
|
Drupal\Core\Block\BlockManagerInterface: '@plugin.manager.block' |
|
plugin.manager.field.field_type: |
|
class: Drupal\Core\Field\FieldTypePluginManager |
|
arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@typed_data_manager', '@plugin.manager.field.field_type_category'] |
|
Drupal\Core\Field\FieldTypePluginManagerInterface: '@plugin.manager.field.field_type' |
|
plugin.manager.field.field_type_category: |
|
class: \Drupal\Core\Field\FieldTypeCategoryManager |
|
arguments: [ '%app.root%', '@module_handler', '@cache.discovery' ] |
|
Drupal\Core\Field\FieldTypeCategoryManagerInterface: '@plugin.manager.field.field_type_category' |
|
plugin.manager.field.widget: |
|
class: Drupal\Core\Field\WidgetPluginManager |
|
arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@plugin.manager.field.field_type'] |
|
plugin.manager.field.formatter: |
|
class: Drupal\Core\Field\FormatterPluginManager |
|
arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@plugin.manager.field.field_type'] |
|
plugin.manager.archiver: |
|
class: Drupal\Core\Archiver\ArchiverManager |
|
parent: default_plugin_manager |
|
arguments: ['@file_system'] |
|
deprecated: 'The "%service_id%" service is deprecated in drupal:11.3.0 and is removed from drupal:12.0.0. There is no replacement. See https://www.drupal.org/node/3556927' |
|
plugin.manager.action: |
|
class: Drupal\Core\Action\ActionManager |
|
arguments: ['@container.namespaces', '@cache.discovery', '@module_handler'] |
|
plugin.manager.menu.link: |
|
class: Drupal\Core\Menu\MenuLinkManager |
|
arguments: ['@menu.tree_storage', '@menu_link.static.overrides', '@module_handler'] |
|
Drupal\Core\Menu\MenuLinkManagerInterface: '@plugin.manager.menu.link' |
|
menu.link_tree: |
|
class: Drupal\Core\Menu\MenuLinkTree |
|
arguments: ['@menu.tree_storage', '@plugin.manager.menu.link', '@router.route_provider', '@menu.active_trail', '@callable_resolver'] |
|
Drupal\Core\Menu\MenuLinkTreeInterface: '@menu.link_tree' |
|
menu.default_tree_manipulators: |
|
class: Drupal\Core\Menu\DefaultMenuLinkTreeManipulators |
|
arguments: ['@access_manager', '@current_user', '@entity_type.manager', '@module_handler'] |
|
Drupal\Core\Menu\DefaultMenuLinkTreeManipulators: '@menu.default_tree_manipulators' |
|
menu.active_trail: |
|
class: Drupal\Core\Menu\MenuActiveTrail |
|
arguments: ['@plugin.manager.menu.link', '@current_route_match', '@cache.menu', '@lock', '@path.matcher'] |
|
tags: |
|
- { name: needs_destruction } |
|
lazy: true |
|
Drupal\Core\Menu\MenuActiveTrailInterface: '@menu.active_trail' |
|
menu.parent_form_selector: |
|
class: Drupal\Core\Menu\MenuParentFormSelector |
|
arguments: ['@menu.link_tree', '@entity_type.manager', '@string_translation'] |
|
Drupal\Core\Menu\MenuParentFormSelectorInterface: '@menu.parent_form_selector' |
|
plugin.manager.menu.local_action: |
|
class: Drupal\Core\Menu\LocalActionManager |
|
arguments: ['@http_kernel.controller.argument_resolver', '@request_stack', '@current_route_match', '@router.route_provider', '@module_handler', '@cache.discovery', '@language_manager', '@access_manager', '@current_user'] |
|
Drupal\Core\Menu\LocalActionManagerInterface: '@plugin.manager.menu.local_action' |
|
plugin.manager.menu.local_task: |
|
class: Drupal\Core\Menu\LocalTaskManager |
|
arguments: ['@http_kernel.controller.argument_resolver', '@request_stack', '@current_route_match', '@router.route_provider', '@module_handler', '@cache.discovery', '@language_manager', '@access_manager', '@current_user'] |
|
Drupal\Core\Menu\LocalTaskManagerInterface: '@plugin.manager.menu.local_task' |
|
plugin.manager.menu.contextual_link: |
|
class: Drupal\Core\Menu\ContextualLinkManager |
|
arguments: ['@controller_resolver', '@module_handler', '@cache.discovery', '@language_manager', '@access_manager', '@current_user', '@request_stack'] |
|
Drupal\Core\Menu\ContextualLinkManagerInterface: '@plugin.manager.menu.contextual_link' |
|
Drupal\Core\Menu\MenuPreprocess: |
|
class: Drupal\Core\Menu\MenuPreprocess |
|
autowire: true |
|
plugin.manager.display_variant: |
|
class: Drupal\Core\Display\VariantManager |
|
parent: default_plugin_manager |
|
plugin.manager.queue_worker: |
|
class: Drupal\Core\Queue\QueueWorkerManager |
|
parent: default_plugin_manager |
|
Drupal\Core\Queue\QueueWorkerManagerInterface: '@plugin.manager.queue_worker' |
|
plugin.cache_clearer: |
|
class: Drupal\Core\Plugin\CachedDiscoveryClearer |
|
autowire: true |
|
Drupal\Core\Plugin\CachedDiscoveryClearerInterface: '@plugin.cache_clearer' |
|
paramconverter.menu_link: |
|
class: Drupal\Core\ParamConverter\MenuLinkPluginConverter |
|
tags: |
|
- { name: paramconverter } |
|
arguments: ['@plugin.manager.menu.link'] |
|
lazy: true |
|
menu.tree_storage: |
|
class: Drupal\Core\Menu\MenuTreeStorage |
|
arguments: ['@database', '@cache.menu', '@cache_tags.invalidator', 'menu_tree'] |
|
public: false # Private to plugin.manager.menu.link and menu.link_tree |
|
tags: |
|
- { name: backend_overridable } |
|
Drupal\Core\Menu\MenuTreeStorageInterface: '@menu.tree_storage' |
|
menu_link.static.overrides: |
|
class: Drupal\Core\Menu\StaticMenuLinkOverrides |
|
arguments: ['@config.factory'] |
|
Drupal\Core\Menu\StaticMenuLinkOverridesInterface: '@menu_link.static.overrides' |
|
request_stack: |
|
class: Symfony\Component\HttpFoundation\RequestStack |
|
tags: |
|
- { name: persist } |
|
Symfony\Component\HttpFoundation\RequestStack: '@request_stack' |
|
current_route_match: |
|
class: Drupal\Core\Routing\CurrentRouteMatch |
|
arguments: ['@request_stack'] |
|
Drupal\Core\Routing\RouteMatchInterface: '@current_route_match' |
|
event_dispatcher: |
|
class: Symfony\Component\EventDispatcher\EventDispatcher |
|
Psr\EventDispatcher\EventDispatcherInterface: '@event_dispatcher' |
|
Symfony\Contracts\EventDispatcher\EventDispatcherInterface: '@event_dispatcher' |
|
Symfony\Component\EventDispatcher\EventDispatcherInterface: '@event_dispatcher' |
|
controller_resolver: |
|
class: Drupal\Core\Controller\ControllerResolver |
|
arguments: ['@callable_resolver'] |
|
Drupal\Core\Controller\ControllerResolverInterface: '@controller_resolver' |
|
Symfony\Component\HttpKernel\Controller\ControllerResolverInterface: '@controller_resolver' |
|
class_resolver: |
|
class: Drupal\Core\DependencyInjection\ClassResolver |
|
arguments: ['@service_container'] |
|
Drupal\Core\DependencyInjection\ClassResolverInterface: '@class_resolver' |
|
callable_resolver: |
|
class: Drupal\Core\Utility\CallableResolver |
|
arguments: ['@class_resolver'] |
|
Drupal\Core\Utility\CallableResolver: '@callable_resolver' |
|
title_resolver: |
|
class: Drupal\Core\Controller\TitleResolver |
|
arguments: ['@controller_resolver', '@string_translation', '@http_kernel.controller.argument_resolver'] |
|
Drupal\Core\Controller\TitleResolverInterface: '@title_resolver' |
|
http_kernel: |
|
class: Drupal\Core\StackMiddleware\StackedHttpKernel |
|
Symfony\Component\HttpKernel\HttpKernelInterface: '@http_kernel' |
|
http_kernel.basic: |
|
class: Symfony\Component\HttpKernel\HttpKernel |
|
arguments: ['@event_dispatcher', '@controller_resolver', '@request_stack', '@http_kernel.controller.argument_resolver', true] |
|
http_kernel.controller.argument_resolver: |
|
class: Symfony\Component\HttpKernel\Controller\ArgumentResolver |
|
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']] |
|
Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface: '@http_kernel.controller.argument_resolver' |
|
http_kernel.controller.argument_metadata_factory: |
|
class: Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactory |
|
public: false |
|
Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactoryInterface: '@http_kernel.controller.argument_metadata_factory' |
|
argument_resolver.request_attribute: |
|
class: Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestAttributeValueResolver |
|
public: false |
|
argument_resolver.request: |
|
class: Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestValueResolver |
|
public: false |
|
argument_resolver.psr7_request: |
|
class: Drupal\Core\Controller\ArgumentResolver\Psr7RequestValueResolver |
|
arguments: ['@psr7.http_message_factory'] |
|
public: false |
|
argument_resolver.route_match: |
|
class: Drupal\Core\Controller\ArgumentResolver\RouteMatchValueResolver |
|
public: false |
|
argument_resolver.default: |
|
class: Symfony\Component\HttpKernel\Controller\ArgumentResolver\DefaultValueResolver |
|
public: false |
|
http_middleware.content_length: |
|
class: Drupal\Core\StackMiddleware\ContentLength |
|
tags: |
|
# Must run before the page_cache and big_pipe middleware. |
|
- { name: http_middleware, priority: 140 } |
|
http_middleware.ajax_page_state: |
|
class: Drupal\Core\StackMiddleware\AjaxPageState |
|
tags: |
|
- { name: http_middleware, priority: 500 } |
|
http_middleware.negotiation: |
|
class: Drupal\Core\StackMiddleware\NegotiationMiddleware |
|
tags: |
|
- { name: http_middleware, priority: 400 } |
|
http_middleware.reverse_proxy: |
|
class: Drupal\Core\StackMiddleware\ReverseProxyMiddleware |
|
arguments: ['@settings'] |
|
tags: |
|
- { name: http_middleware, priority: 300 } |
|
http_middleware.kernel_pre_handle: |
|
class: Drupal\Core\StackMiddleware\KernelPreHandle |
|
arguments: ['@kernel'] |
|
tags: |
|
- { name: http_middleware, priority: 100 } |
|
http_middleware.session: |
|
class: Drupal\Core\StackMiddleware\Session |
|
autowire: true |
|
tags: |
|
- { name: http_middleware, priority: 50 } |
|
http_middleware.cors: |
|
class: Asm89\Stack\Cors |
|
arguments: ['%cors.config%'] |
|
tags: |
|
- { name: http_middleware, priority: 250 } |
|
psr7.http_foundation_factory: |
|
class: Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory |
|
Symfony\Bridge\PsrHttpMessage\HttpFoundationFactoryInterface: '@psr7.http_foundation_factory' |
|
psr17.server_request_factory: |
|
class: GuzzleHttp\Psr7\HttpFactory |
|
public: false |
|
Psr\Http\Message\ServerRequestFactoryInterface: '@psr17.server_request_factory' |
|
psr17.stream_factory: |
|
class: GuzzleHttp\Psr7\HttpFactory |
|
public: false |
|
Psr\Http\Message\StreamFactoryInterface: '@psr17.stream_factory' |
|
psr17.uploaded_file_factory: |
|
class: GuzzleHttp\Psr7\HttpFactory |
|
public: false |
|
Psr\Http\Message\UploadedFileFactoryInterface: '@psr17.uploaded_file_factory' |
|
psr17.response_factory: |
|
class: GuzzleHttp\Psr7\HttpFactory |
|
public: false |
|
Psr\Http\Message\ResponseFactoryInterface: '@psr17.response_factory' |
|
psr7.http_message_factory: |
|
class: Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory |
|
arguments: ['@psr17.server_request_factory', '@psr17.stream_factory', '@psr17.uploaded_file_factory', '@psr17.response_factory'] |
|
Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface: '@psr7.http_message_factory' |
|
language_manager: |
|
class: Drupal\Core\Language\LanguageManager |
|
arguments: ['@language.default'] |
|
Drupal\Core\Language\LanguageManagerInterface: '@language_manager' |
|
language.current_language_context: |
|
class: Drupal\Core\Language\ContextProvider\CurrentLanguageContext |
|
arguments: ['@language_manager'] |
|
tags: |
|
- { name: 'context_provider' } |
|
language.default: |
|
class: Drupal\Core\Language\LanguageDefault |
|
arguments: ['%language.default_values%'] |
|
Drupal\Core\Language\LanguageDefault: '@language.default' |
|
string_translator.custom_strings: |
|
class: Drupal\Core\StringTranslation\Translator\CustomStrings |
|
arguments: ['@settings'] |
|
tags: |
|
- { name: string_translator, priority: 30 } |
|
string_translation: |
|
class: Drupal\Core\StringTranslation\TranslationManager |
|
arguments: ['@language.default'] |
|
tags: |
|
- { name: service_collector, tag: string_translator, call: addTranslator } |
|
Drupal\Core\StringTranslation\TranslationInterface: '@string_translation' |
|
typed_data_manager: |
|
class: Drupal\Core\TypedData\TypedDataManager |
|
arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@class_resolver'] |
|
calls: |
|
- [setValidationConstraintManager, ['@validation.constraint']] |
|
tags: |
|
- { name: plugin_manager_cache_clear } |
|
Drupal\Core\TypedData\TypedDataManagerInterface: '@typed_data_manager' |
|
validation.constraint: |
|
class: Drupal\Core\Validation\ConstraintManager |
|
parent: default_plugin_manager |
|
tags: |
|
- { name: plugin_manager_cache_clear } |
|
validation.basic_recursive_validator_factory: |
|
class: Drupal\Core\Validation\BasicRecursiveValidatorFactory |
|
arguments: ['@class_resolver'] |
|
Drupal\Core\Validation\BasicRecursiveValidatorFactory: '@validation.basic_recursive_validator_factory' |
|
lock: |
|
class: Drupal\Core\Lock\DatabaseLockBackend |
|
arguments: ['@database'] |
|
tags: |
|
- { name: backend_overridable } |
|
lazy: true |
|
lock.persistent: |
|
class: Drupal\Core\Lock\PersistentDatabaseLockBackend |
|
arguments: ['@database'] |
|
tags: |
|
- { name: backend_overridable } |
|
lazy: true |
|
router.request_context: |
|
class: Drupal\Core\Routing\RequestContext |
|
tags: |
|
- { name: persist } |
|
calls: |
|
- [fromRequestStack, ['@request_stack']] |
|
Drupal\Core\Routing\RequestContext: '@router.request_context' |
|
router.admin_context: |
|
class: Drupal\Core\Routing\AdminContext |
|
arguments: ['@current_route_match'] |
|
Drupal\Core\Routing\AdminContext: '@router.admin_context' |
|
router.route_provider: |
|
class: Drupal\Core\Routing\RouteProvider |
|
arguments: ['@database', '@state', '@path.current', '@cache.data', '@path_processor_manager', '@cache_tags.invalidator', 'router', '@language_manager'] |
|
tags: |
|
- { name: backend_overridable } |
|
Drupal\Core\Routing\RouteProviderInterface: '@router.route_provider' |
|
router.route_provider.lazy_builder: |
|
class: Drupal\Core\Routing\RouteProviderLazyBuilder |
|
arguments: ['@router.route_provider', '@router.builder'] |
|
router.route_preloader: |
|
class: Drupal\Core\Routing\RoutePreloader |
|
arguments: ['@router.route_provider', '@state'] |
|
url_generator.non_bubbling: |
|
class: Drupal\Core\Routing\UrlGenerator |
|
arguments: ['@router.route_provider', '@path_processor_manager', '@route_processor_manager', '@request_stack', '%filter_protocols%'] |
|
public: false |
|
calls: |
|
- [setContext, ['@?router.request_context']] |
|
url_generator: |
|
class: Drupal\Core\Render\MetadataBubblingUrlGenerator |
|
arguments: ['@url_generator.non_bubbling', '@renderer'] |
|
calls: |
|
- [setContext, ['@?router.request_context']] |
|
Drupal\Core\Routing\UrlGeneratorInterface: '@url_generator' |
|
Symfony\Component\Routing\Generator\UrlGeneratorInterface: '@url_generator' |
|
redirect.destination: |
|
class: Drupal\Core\Routing\RedirectDestination |
|
arguments: ['@request_stack', '@url_generator'] |
|
Drupal\Core\Routing\RedirectDestinationInterface: '@redirect.destination' |
|
unrouted_url_assembler: |
|
class: Drupal\Core\Utility\UnroutedUrlAssembler |
|
arguments: ['@request_stack', '@path_processor_manager', '%filter_protocols%'] |
|
Drupal\Core\Utility\UnroutedUrlAssemblerInterface: '@unrouted_url_assembler' |
|
link_generator: |
|
class: Drupal\Core\Utility\LinkGenerator |
|
arguments: ['@url_generator', '@module_handler', '@renderer'] |
|
Drupal\Core\Utility\LinkGeneratorInterface: '@link_generator' |
|
router: |
|
class: Drupal\Core\Routing\AccessAwareRouter |
|
arguments: ['@router.no_access_checks', '@access_manager', '@current_user'] |
|
Drupal\Core\Routing\AccessAwareRouterInterface: '@router' |
|
router.no_access_checks: |
|
class: \Drupal\Core\Routing\Router |
|
arguments: ['@router.route_provider', '@path.current'] |
|
tags: |
|
- { name: service_collector, tag: route_enhancer, call: addRouteEnhancer } |
|
- { name: service_collector, tag: route_filter, call: addRouteFilter } |
|
calls: |
|
- [setContext, ['@router.request_context']] |
|
router.path_roots_subscriber: |
|
class: Drupal\Core\EventSubscriber\PathRootsSubscriber |
|
arguments: ['@state'] |
|
entity.query.config: |
|
class: Drupal\Core\Config\Entity\Query\QueryFactory |
|
arguments: ['@config.factory', '@keyvalue', '@config.manager'] |
|
entity.query.sql: |
|
class: Drupal\Core\Entity\Query\Sql\QueryFactory |
|
arguments: ['@database'] |
|
tags: |
|
- { name: backend_overridable } |
|
pgsql.entity.query.sql: |
|
class: Drupal\Core\Entity\Query\Sql\pgsql\QueryFactory |
|
arguments: ['@database'] |
|
deprecated: The "%service_id%" service is deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Install the pgsql module to replace this service. See https://www.drupal.org/node/3488580 |
|
entity.query.null: |
|
class: Drupal\Core\Entity\Query\Null\QueryFactory |
|
entity.query.keyvalue: |
|
class: Drupal\Core\Entity\KeyValueStore\Query\QueryFactory |
|
arguments: ['@keyvalue'] |
|
router.dumper: |
|
class: Drupal\Core\Routing\MatcherDumper |
|
arguments: ['@database', '@state', '@logger.channel.router'] |
|
tags: |
|
- { name: backend_overridable } |
|
lazy: true |
|
Drupal\Core\Routing\MatcherDumperInterface: '@router.dumper' |
|
router.builder: |
|
class: Drupal\Core\Routing\RouteBuilder |
|
arguments: ['@router.dumper', '@lock', '@event_dispatcher', '@module_handler', '@controller_resolver', '@access_manager.check_provider'] |
|
lazy: true |
|
tags: |
|
- { name: needs_destruction } |
|
Drupal\Core\Routing\RouteBuilderInterface: '@router.builder' |
|
menu.rebuild_subscriber: |
|
class: Drupal\Core\EventSubscriber\MenuRouterRebuildSubscriber |
|
arguments: ['@lock', '@plugin.manager.menu.link', '@database', '@database.replica_kill_switch', '@logger.channel.menu'] |
|
path.matcher: |
|
class: Drupal\Core\Path\PathMatcher |
|
arguments: ['@config.factory', '@current_route_match'] |
|
Drupal\Core\Path\PathMatcherInterface: '@path.matcher' |
|
path.validator: |
|
class: Drupal\Core\Path\PathValidator |
|
arguments: ['@router', '@router.no_access_checks', '@current_user', '@path_processor_manager'] |
|
Drupal\Core\Path\PathValidatorInterface: '@path.validator' |
|
password: |
|
class: Drupal\Core\Password\PhpPassword |
|
Drupal\Core\Password\PasswordInterface: '@password' |
|
password_generator: |
|
class: Drupal\Core\Password\DefaultPasswordGenerator |
|
Drupal\Core\Password\PasswordGeneratorInterface: '@password_generator' |
|
request_format_route_filter: |
|
class: Drupal\Core\Routing\RequestFormatRouteFilter |
|
tags: |
|
- { name: route_filter } |
|
method_filter: |
|
class: Drupal\Core\Routing\MethodFilter |
|
tags: |
|
# The HTTP method route filter must run very early: it removes any routes |
|
# whose requirements do not allow the HTTP method of the current request. |
|
# Throws a 405 if no routes match the current request's HTTP method. |
|
# (If it runs before content_type_header_matcher, it can ensure that only |
|
# receives routes which can have a Content-Type request header.) |
|
- { name: route_filter, priority: 10 } |
|
content_type_header_matcher: |
|
class: Drupal\Core\Routing\ContentTypeHeaderMatcher |
|
tags: |
|
# The Content-Type request header route filter must run early: it removes |
|
# any routes whose requirements do not allow the Content-Type request |
|
# header of the current request. |
|
# Throws a 415 if no routes match the Content-Type request header of the |
|
# current request, or if it has no Content-Type request header. |
|
# Note it does nothing for GET requests. |
|
- { name: route_filter, priority: 5 } |
|
paramconverter_manager: |
|
class: Drupal\Core\ParamConverter\ParamConverterManager |
|
tags: |
|
- { name: service_collector, tag: paramconverter, call: addConverter } |
|
Drupal\Core\ParamConverter\ParamConverterManagerInterface: '@paramconverter_manager' |
|
paramconverter_subscriber: |
|
class: Drupal\Core\EventSubscriber\ParamConverterSubscriber |
|
arguments: ['@paramconverter_manager'] |
|
paramconverter.entity: |
|
class: Drupal\Core\ParamConverter\EntityConverter |
|
tags: |
|
- { name: paramconverter } |
|
arguments: ['@entity_type.manager', '@entity.repository'] |
|
paramconverter.entity_revision: |
|
class: Drupal\Core\ParamConverter\EntityRevisionParamConverter |
|
tags: |
|
- { name: paramconverter } |
|
arguments: ['@entity_type.manager', '@entity.repository'] |
|
paramconverter.configentity_admin: |
|
class: Drupal\Core\ParamConverter\AdminPathConfigEntityConverter |
|
tags: |
|
# Use a higher priority than EntityConverter, see the class for details. |
|
- { name: paramconverter, priority: 5 } |
|
arguments: ['@entity_type.manager', '@config.factory', '@router.admin_context', '@entity.repository'] |
|
lazy: true |
|
route_subscriber.module: |
|
class: Drupal\Core\EventSubscriber\ModuleRouteSubscriber |
|
arguments: ['@module_handler'] |
|
resolver_manager.entity: |
|
class: Drupal\Core\Entity\EntityResolverManager |
|
arguments: ['@entity_type.manager', '@class_resolver'] |
|
Drupal\Core\Entity\EntityResolverManager: '@resolver_manager.entity' |
|
route_subscriber.entity: |
|
class: Drupal\Core\EventSubscriber\EntityRouteAlterSubscriber |
|
arguments: ['@resolver_manager.entity'] |
|
ajax_response.subscriber: |
|
class: Drupal\Core\EventSubscriber\AjaxResponseSubscriber |
|
autowire: true |
|
form_ajax_subscriber: |
|
class: Drupal\Core\Form\EventSubscriber\FormAjaxSubscriber |
|
arguments: ['@form_ajax_response_builder', '@string_translation', '@messenger'] |
|
route_enhancer.param_conversion: |
|
class: Drupal\Core\Routing\Enhancer\ParamConversionEnhancer |
|
arguments: ['@paramconverter_manager'] |
|
tags: |
|
- { name: route_enhancer, priority: 5000 } |
|
route_enhancer.form: |
|
class: Drupal\Core\Routing\Enhancer\FormRouteEnhancer |
|
tags: |
|
- { name: route_enhancer } |
|
route_enhancer.entity: |
|
class: Drupal\Core\Entity\Enhancer\EntityRouteEnhancer |
|
tags: |
|
- { name: route_enhancer, priority: 20 } |
|
route_enhancer.entity_bundle: |
|
class: Drupal\Core\Entity\Enhancer\EntityBundleRouteEnhancer |
|
arguments: ['@entity_type.manager'] |
|
tags: |
|
- { name: route_enhancer } |
|
route_enhancer.entity_revision: |
|
class: Drupal\Core\Routing\Enhancer\EntityRevisionRouteEnhancer |
|
tags: |
|
- { name: route_enhancer } |
|
route_special_attributes_subscriber: |
|
class: Drupal\Core\EventSubscriber\SpecialAttributesRouteSubscriber |
|
route_http_method_subscriber: |
|
class: Drupal\Core\EventSubscriber\RouteMethodSubscriber |
|
psr_response_view_subscriber: |
|
class: Drupal\Core\EventSubscriber\PsrResponseSubscriber |
|
arguments: ['@psr7.http_foundation_factory'] |
|
# HTMX content view subscriber runs before main_content_view subscriber. |
|
htmx_content_view_subscriber: |
|
class: Drupal\Core\EventSubscriber\HtmxContentViewSubscriber |
|
autowire: true |
|
# Main content view subscriber plus the renderers it uses. |
|
main_content_view_subscriber: |
|
class: Drupal\Core\EventSubscriber\MainContentViewSubscriber |
|
arguments: ['@class_resolver', '@current_route_match', '%main_content_renderers%'] |
|
renderer_non_html: |
|
class: Drupal\Core\EventSubscriber\RenderArrayNonHtmlSubscriber |
|
main_content_renderer.html: |
|
class: Drupal\Core\Render\MainContent\HtmlRenderer |
|
arguments: ['@title_resolver', '@plugin.manager.display_variant', '@event_dispatcher', '@module_handler', '@renderer', '@render_cache', '%renderer.config%', '@theme.manager'] |
|
tags: |
|
- { name: render.main_content_renderer, format: html } |
|
main_content_renderer.htmx: |
|
class: Drupal\Core\Render\MainContent\HtmxRenderer |
|
arguments: ['@title_resolver', '@renderer', '@render_cache', '%renderer.config%'] |
|
tags: |
|
- { name: render.main_content_renderer, format: drupal_htmx } |
|
main_content_renderer.ajax: |
|
class: Drupal\Core\Render\MainContent\AjaxRenderer |
|
arguments: ['@element_info', '@renderer'] |
|
tags: |
|
- { name: render.main_content_renderer, format: drupal_ajax } |
|
- { name: render.main_content_renderer, format: iframeupload } |
|
main_content_renderer.dialog: |
|
class: Drupal\Core\Render\MainContent\DialogRenderer |
|
arguments: ['@title_resolver', '@renderer'] |
|
tags: |
|
- { name: render.main_content_renderer, format: drupal_dialog } |
|
main_content_renderer.off_canvas: |
|
class: Drupal\Core\Render\MainContent\OffCanvasRenderer |
|
arguments: ['@title_resolver', '@renderer'] |
|
tags: |
|
- { name: render.main_content_renderer, format: drupal_dialog.off_canvas } |
|
main_content_renderer.off_canvas_top: |
|
class: Drupal\Core\Render\MainContent\OffCanvasRenderer |
|
arguments: ['@title_resolver', '@renderer', 'top'] |
|
tags: |
|
- { name: render.main_content_renderer, format: drupal_dialog.off_canvas_top } |
|
main_content_renderer.modal: |
|
class: Drupal\Core\Render\MainContent\ModalRenderer |
|
arguments: ['@title_resolver', '@renderer'] |
|
tags: |
|
- { name: render.main_content_renderer, format: drupal_modal } |
|
controller.form: |
|
class: Drupal\Core\Controller\HtmlFormController |
|
arguments: ['@http_kernel.controller.argument_resolver', '@form_builder', '@class_resolver'] |
|
Drupal\Core\Controller\HtmlFormController: '@controller.form' |
|
controller.entity_form: |
|
class: Drupal\Core\Entity\HtmlEntityFormController |
|
arguments: ['@http_kernel.controller.argument_resolver', '@form_builder', '@entity_type.manager'] |
|
Drupal\Core\Entity\HtmlEntityFormController: '@controller.entity_form' |
|
form_ajax_response_builder: |
|
class: Drupal\Core\Form\FormAjaxResponseBuilder |
|
arguments: ['@main_content_renderer.ajax', '@current_route_match', '@callable_resolver'] |
|
Drupal\Core\Form\FormAjaxResponseBuilderInterface: '@form_ajax_response_builder' |
|
router_listener: |
|
class: Symfony\Component\HttpKernel\EventListener\RouterListener |
|
arguments: ['@router', '@request_stack', '@router.request_context', NULL] |
|
options_request_listener: |
|
class: Drupal\Core\EventSubscriber\OptionsRequestSubscriber |
|
arguments: ['@router.route_provider'] |
|
bare_html_page_renderer: |
|
class: Drupal\Core\Render\BareHtmlPageRenderer |
|
arguments: ['@renderer', '@html_response.attachments_processor', '@Drupal\Core\Extension\ThemeSettingsProvider'] |
|
lazy: true |
|
Drupal\Core\Render\BareHtmlPageRendererInterface: '@bare_html_page_renderer' |
|
private_key: |
|
class: Drupal\Core\PrivateKey |
|
arguments: ['@state'] |
|
Drupal\Core\PrivateKey: '@private_key' |
|
csrf_token: |
|
class: Drupal\Core\Access\CsrfTokenGenerator |
|
arguments: ['@private_key', '@session_manager.metadata_bag'] |
|
Drupal\Core\Access\CsrfTokenGenerator: '@csrf_token' |
|
access_arguments_resolver_factory: |
|
class: Drupal\Core\Access\AccessArgumentsResolverFactory |
|
Drupal\Core\Access\AccessArgumentsResolverFactoryInterface: '@access_arguments_resolver_factory' |
|
access_manager: |
|
class: Drupal\Core\Access\AccessManager |
|
arguments: ['@router.route_provider', '@paramconverter_manager', '@access_arguments_resolver_factory', '@current_user', '@access_manager.check_provider'] |
|
Drupal\Core\Access\AccessManagerInterface: '@access_manager' |
|
access_manager.check_provider: |
|
class: Drupal\Core\Access\CheckProvider |
|
arguments: ['%dynamic_access_check_services%'] |
|
public: false |
|
Drupal\Core\Access\CheckProviderInterface: '@access_manager.check_provider' |
|
access_check.default: |
|
class: Drupal\Core\Access\DefaultAccessCheck |
|
tags: |
|
- { name: access_check, applies_to: _access } |
|
access_check.entity: |
|
class: Drupal\Core\Entity\EntityAccessCheck |
|
tags: |
|
- { name: access_check, applies_to: _entity_access } |
|
access_check.entity_create: |
|
class: Drupal\Core\Entity\EntityCreateAccessCheck |
|
arguments: ['@entity_type.manager'] |
|
tags: |
|
- { name: access_check, applies_to: _entity_create_access } |
|
access_check.entity_create_any: |
|
class: Drupal\Core\Entity\EntityCreateAnyAccessCheck |
|
arguments: ['@entity_type.manager', '@entity_type.bundle.info'] |
|
tags: |
|
- { name: access_check, applies_to: _entity_create_any_access } |
|
access_check.entity_delete_multiple: |
|
class: Drupal\Core\Entity\EntityDeleteMultipleAccessCheck |
|
arguments: ['@entity_type.manager', '@tempstore.private', '@request_stack'] |
|
tags: |
|
- { name: access_check, applies_to: _entity_delete_multiple_access } |
|
access_check.theme: |
|
class: Drupal\Core\Theme\ThemeAccessCheck |
|
arguments: ['@theme_handler'] |
|
tags: |
|
- { name: access_check, applies_to: _access_theme } |
|
access_check.custom: |
|
class: Drupal\Core\Access\CustomAccessCheck |
|
arguments: ['@callable_resolver', '@access_arguments_resolver_factory'] |
|
tags: |
|
- { name: access_check, applies_to: _custom_access } |
|
access_check.csrf: |
|
class: Drupal\Core\Access\CsrfAccessCheck |
|
tags: |
|
- { name: access_check, applies_to: _csrf_token, needs_incoming_request: TRUE } |
|
arguments: ['@csrf_token'] |
|
access_check.header.csrf: |
|
class: Drupal\Core\Access\CsrfRequestHeaderAccessCheck |
|
arguments: ['@session_configuration', '@csrf_token'] |
|
tags: |
|
- { name: access_check, needs_incoming_request: TRUE } |
|
maintenance_mode: |
|
class: Drupal\Core\Site\MaintenanceMode |
|
arguments: ['@state', '@config.factory'] |
|
Drupal\Core\Site\MaintenanceModeInterface: '@maintenance_mode' |
|
maintenance_mode_subscriber: |
|
class: Drupal\Core\EventSubscriber\MaintenanceModeSubscriber |
|
autowire: true |
|
route_access_response_subscriber: |
|
class: Drupal\Core\EventSubscriber\RouteAccessResponseSubscriber |
|
client_error_response_subscriber: |
|
class: Drupal\Core\EventSubscriber\ClientErrorResponseSubscriber |
|
anonymous_user_response_subscriber: |
|
class: Drupal\Core\EventSubscriber\AnonymousUserResponseSubscriber |
|
arguments: ['@current_user'] |
|
ajax_response.attachments_processor: |
|
class: Drupal\Core\Ajax\AjaxResponseAttachmentsProcessor |
|
arguments: ['@asset.resolver', '@config.factory', '@asset.css.collection_renderer', '@asset.js.collection_renderer', '@request_stack', '@renderer', '@module_handler', '@language_manager'] |
|
html_response.attachments_processor: |
|
class: Drupal\Core\Render\HtmlResponseAttachmentsProcessor |
|
arguments: ['@asset.resolver', '@config.factory', '@asset.css.collection_renderer', '@asset.js.collection_renderer', '@request_stack', '@renderer', '@module_handler', '@language_manager'] |
|
html_response.subscriber: |
|
class: Drupal\Core\EventSubscriber\HtmlResponseSubscriber |
|
arguments: ['@html_response.attachments_processor'] |
|
finish_response_subscriber: |
|
class: Drupal\Core\EventSubscriber\FinishResponseSubscriber |
|
arguments: ['@language_manager', '@config.factory', '@page_cache_request_policy', '@page_cache_response_policy', '@cache_contexts_manager', '@datetime.time', '%http.response.debug_cacheability_headers%'] |
|
response_generator_subscriber: |
|
class: Drupal\Core\EventSubscriber\ResponseGeneratorSubscriber |
|
redirect_response_subscriber: |
|
class: Drupal\Core\EventSubscriber\RedirectResponseSubscriber |
|
autowire: true |
|
redirect_leading_slashes_subscriber: |
|
class: Drupal\Core\EventSubscriber\RedirectLeadingSlashesSubscriber |
|
config_import_subscriber: |
|
class: Drupal\Core\EventSubscriber\ConfigImportSubscriber |
|
autowire: true |
|
config_snapshot_subscriber: |
|
class: Drupal\Core\EventSubscriber\ConfigSnapshotSubscriber |
|
arguments: ['@config.manager', '@config.storage', '@config.storage.snapshot'] |
|
config_exclude_modules_subscriber: |
|
class: Drupal\Core\EventSubscriber\ExcludedModulesEventSubscriber |
|
arguments: ['@config.storage', '@settings', '@config.manager'] |
|
exception.needs_installer: |
|
class: Drupal\Core\EventSubscriber\ExceptionDetectNeedsInstallSubscriber |
|
arguments: ['@database'] |
|
exception.default_json: |
|
class: Drupal\Core\EventSubscriber\ExceptionJsonSubscriber |
|
exception.default_html: |
|
class: Drupal\Core\EventSubscriber\DefaultExceptionHtmlSubscriber |
|
arguments: ['@http_kernel', '@logger.channel.php', '@redirect.destination', '@router.no_access_checks'] |
|
exception.final: |
|
class: Drupal\Core\EventSubscriber\FinalExceptionSubscriber |
|
arguments: ['@config.factory'] |
|
exception.logger: |
|
class: Drupal\Core\EventSubscriber\ExceptionLoggingSubscriber |
|
arguments: ['@logger.factory'] |
|
exception.custom_page_html: |
|
class: Drupal\Core\EventSubscriber\CustomPageExceptionHtmlSubscriber |
|
arguments: ['@config.factory', '@http_kernel', '@logger.channel.php', '@redirect.destination', '@router.no_access_checks', '@access_manager'] |
|
exception.fast_404_html: |
|
class: Drupal\Core\EventSubscriber\Fast404ExceptionHtmlSubscriber |
|
arguments: ['@config.factory', '@cache_tags.invalidator'] |
|
exception.enforced_form_response: |
|
class: Drupal\Core\EventSubscriber\EnforcedFormResponseSubscriber |
|
route_processor_manager: |
|
class: Drupal\Core\RouteProcessor\RouteProcessorManager |
|
tags: |
|
- { name: service_collector, tag: route_processor_outbound, call: addOutbound } |
|
Drupal\Core\RouteProcessor\OutboundRouteProcessorInterface: '@route_processor_manager' |
|
path_processor_manager: |
|
class: Drupal\Core\PathProcessor\PathProcessorManager |
|
tags: |
|
- { name: service_collector, tag: path_processor_inbound, call: addInbound } |
|
- { name: service_collector, tag: path_processor_outbound, call: addOutbound } |
|
Drupal\Core\PathProcessor\InboundPathProcessorInterface: '@path_processor_manager' |
|
Drupal\Core\PathProcessor\OutboundPathProcessorInterface: '@path_processor_manager' |
|
path_processor_decode: |
|
class: Drupal\Core\PathProcessor\PathProcessorDecode |
|
tags: |
|
- { name: path_processor_inbound, priority: 1000 } |
|
path_processor_front: |
|
class: Drupal\Core\PathProcessor\PathProcessorFront |
|
tags: |
|
- { name: path_processor_inbound, priority: 200 } |
|
arguments: ['@config.factory'] |
|
route_processor_current: |
|
class: Drupal\Core\RouteProcessor\RouteProcessorCurrent |
|
arguments: ['@current_route_match'] |
|
tags: |
|
- { name: route_processor_outbound, priority: 200 } |
|
route_processor_csrf: |
|
class: Drupal\Core\Access\RouteProcessorCsrf |
|
tags: |
|
- { name: route_processor_outbound } |
|
arguments: ['@csrf_token', '@request_stack'] |
|
transliteration: |
|
class: Drupal\Core\Transliteration\PhpTransliteration |
|
arguments: [null, '@module_handler'] |
|
flood: |
|
class: Drupal\Core\Flood\DatabaseBackend |
|
arguments: ['@database', '@request_stack', '@datetime.time'] |
|
tags: |
|
- { name: backend_overridable } |
|
Drupal\Core\Flood\FloodInterface: '@flood' |
|
plugin.manager.mail: |
|
class: Drupal\Core\Mail\MailManager |
|
arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@config.factory', '@logger.factory', '@string_translation', '@renderer'] |
|
Drupal\Core\Mail\MailManagerInterface: '@plugin.manager.mail' |
|
plugin.manager.condition: |
|
class: Drupal\Core\Condition\ConditionManager |
|
parent: default_plugin_manager |
|
Drupal\Core\Executable\ExecutableManagerInterface: '@plugin.manager.condition' |
|
plugin.manager.element_info: |
|
class: Drupal\Core\Render\ElementInfoManager |
|
arguments: ['@container.namespaces', '@cache.discovery', '@theme_handler', '@module_handler', '@theme.manager'] |
|
Drupal\Core\Render\ElementInfoManagerInterface: '@plugin.manager.element_info' |
|
stream_wrapper_manager: |
|
class: Drupal\Core\StreamWrapper\StreamWrapperManager |
|
Drupal\Core\StreamWrapper\StreamWrapperManagerInterface: '@stream_wrapper_manager' |
|
stream_wrapper.assets: |
|
class: Drupal\Core\StreamWrapper\AssetsStream |
|
tags: |
|
- { name: stream_wrapper, scheme: assets } |
|
Drupal\Core\StreamWrapper\AssetsStream: '@stream_wrapper.assets' |
|
stream_wrapper.public: |
|
class: Drupal\Core\StreamWrapper\PublicStream |
|
tags: |
|
- { name: stream_wrapper, scheme: public } |
|
stream_wrapper.temporary: |
|
class: Drupal\Core\StreamWrapper\TemporaryStream |
|
tags: |
|
- { name: stream_wrapper, scheme: temporary } |
|
stream_wrapper.module: |
|
class: Drupal\Core\StreamWrapper\ModuleStream |
|
tags: |
|
- { name: stream_wrapper, scheme: module } |
|
stream_wrapper.theme: |
|
class: Drupal\Core\StreamWrapper\ThemeStream |
|
tags: |
|
- { name: stream_wrapper, scheme: theme } |
|
image.toolkit.manager: |
|
class: Drupal\Core\ImageToolkit\ImageToolkitManager |
|
arguments: ['@config.factory'] |
|
parent: default_plugin_manager |
|
tags: |
|
- { name: plugin_manager_cache_clear } |
|
Drupal\Core\ImageToolkit\ImageToolkitManager: '@image.toolkit.manager' |
|
image.toolkit.operation.manager: |
|
class: Drupal\Core\ImageToolkit\ImageToolkitOperationManager |
|
arguments: ['@logger.channel.image', '@image.toolkit.manager'] |
|
parent: default_plugin_manager |
|
tags: |
|
- { name: plugin_manager_cache_clear } |
|
Drupal\Core\ImageToolkit\ImageToolkitOperationManagerInterface: '@image.toolkit.operation.manager' |
|
image.factory: |
|
class: Drupal\Core\Image\ImageFactory |
|
arguments: ['@image.toolkit.manager'] |
|
Drupal\Core\Image\ImageFactory: '@image.factory' |
|
breadcrumb: |
|
class: Drupal\Core\Breadcrumb\BreadcrumbManager |
|
arguments: ['@module_handler'] |
|
tags: |
|
- { name: service_collector, tag: breadcrumb_builder, call: addBuilder } |
|
Drupal\Core\Breadcrumb\ChainBreadcrumbBuilderInterface: '@breadcrumb' |
|
Drupal\Core\Breadcrumb\BreadcrumbPreprocess: |
|
class: Drupal\Core\Breadcrumb\BreadcrumbPreprocess |
|
autowire: true |
|
token: |
|
class: Drupal\Core\Utility\Token |
|
arguments: ['@module_handler', '@cache.default', '@language_manager', '@cache_tags.invalidator', '@renderer'] |
|
Drupal\Core\Utility\Token: '@token' |
|
batch.storage: |
|
class: Drupal\Core\Batch\BatchStorage |
|
arguments: ['@database', '@session', '@csrf_token', '@datetime.time'] |
|
tags: |
|
- { name: backend_overridable } |
|
lazy: true |
|
Drupal\Core\Batch\BatchStorageInterface: '@batch.storage' |
|
country_manager: |
|
class: Drupal\Core\Locale\CountryManager |
|
arguments: ['@module_handler'] |
|
Drupal\Core\Locale\CountryManagerInterface: '@country_manager' |
|
date.formatter: |
|
class: Drupal\Core\Datetime\DateFormatter |
|
arguments: ['@entity_type.manager', '@language_manager', '@string_translation', '@config.factory', '@request_stack'] |
|
Drupal\Core\Datetime\DateFormatterInterface: '@date.formatter' |
|
theme.manager: |
|
class: Drupal\Core\Theme\ThemeManager |
|
autowire: true |
|
calls: |
|
- [setThemeRegistry, ['@theme.registry']] |
|
Drupal\Core\Theme\ThemeManagerInterface: '@theme.manager' |
|
Drupal\Core\Template\TwigThemeEngine: |
|
autowire: true |
|
tags: |
|
- { name: theme_engine, engine_name: twig } |
|
theme.initialization: |
|
class: Drupal\Core\Theme\ThemeInitialization |
|
autowire: true |
|
Drupal\Core\Theme\ThemeInitializationInterface: '@theme.initialization' |
|
theme.registry: |
|
class: Drupal\Core\Theme\Registry |
|
arguments: ['%app.root%', '@cache.default', '@lock', '@module_handler', '@theme_handler', '@theme.initialization', '@cache.bootstrap', '@extension.list.module', '@kernel', ~, '@keyvalue'] |
|
tags: |
|
- { name: needs_destruction } |
|
calls: |
|
- [setThemeManager, ['@theme.manager']] |
|
Drupal\Core\Theme\Registry: '@theme.registry' |
|
Drupal\Core\Theme\ThemePreprocess: |
|
class: Drupal\Core\Theme\ThemePreprocess |
|
autowire: true |
|
Drupal\Core\Theme\ImagePreprocess: |
|
class: Drupal\Core\Theme\ImagePreprocess |
|
autowire: true |
|
Drupal\Core\Datetime\DatePreprocess: |
|
class: Drupal\Core\Datetime\DatePreprocess |
|
autowire: true |
|
authentication: |
|
class: Drupal\Core\Authentication\AuthenticationManager |
|
arguments: ['@authentication_collector'] |
|
Drupal\Core\Authentication\AuthenticationProviderInterface: '@authentication' |
|
authentication_collector: |
|
class: Drupal\Core\Authentication\AuthenticationCollector |
|
tags: |
|
- { name: service_collector, tag: authentication_provider, call: addProvider } |
|
Drupal\Core\Authentication\AuthenticationCollectorInterface: '@authentication_collector' |
|
authentication_subscriber: |
|
class: Drupal\Core\EventSubscriber\AuthenticationSubscriber |
|
arguments: ['@authentication', '@current_user'] |
|
account_switcher: |
|
class: Drupal\Core\Session\AccountSwitcher |
|
arguments: ['@current_user', '@session_handler.write_safe'] |
|
Drupal\Core\Session\AccountSwitcherInterface: '@account_switcher' |
|
access_policy_processor: |
|
class: Drupal\Core\Session\AccessPolicyProcessor |
|
arguments: ['@variation_cache.access_policy', '@variation_cache.access_policy_memory', '@cache.access_policy_memory', '@current_user', '@account_switcher'] |
|
tags: |
|
- { name: service_collector, call: addAccessPolicy, tag: access_policy } |
|
Drupal\Core\Session\AccessPolicyProcessorInterface: '@access_policy_processor' |
|
access_policy.super_user: |
|
class: Drupal\Core\Session\SuperUserAccessPolicy |
|
tags: |
|
- { name: access_policy } |
|
Drupal\Core\Session\SuperUserAccessPolicy: '@access_policy.super_user' |
|
access_policy.user_roles: |
|
class: Drupal\Core\Session\UserRolesAccessPolicy |
|
arguments: ['@entity_type.manager'] |
|
tags: |
|
- { name: access_policy } |
|
Drupal\Core\Session\UserRolesAccessPolicy: '@access_policy.user_roles' |
|
permission_checker: |
|
class: Drupal\Core\Session\PermissionChecker |
|
arguments: ['@access_policy_processor'] |
|
Drupal\Core\Session\PermissionCheckerInterface: '@permission_checker' |
|
user_permissions_hash_generator: |
|
class: Drupal\Core\Session\PermissionsHashGenerator |
|
arguments: ['@private_key', '@cache.memory', '@access_policy_processor'] |
|
Drupal\Core\Session\PermissionsHashGeneratorInterface: '@user_permissions_hash_generator' |
|
current_user: |
|
class: Drupal\Core\Session\AccountProxy |
|
arguments: ['@event_dispatcher'] |
|
Drupal\Core\Session\AccountInterface: '@current_user' |
|
Drupal\Core\Session\AccountProxyInterface: '@current_user' |
|
session_configuration: |
|
class: Drupal\Core\Session\SessionConfiguration |
|
arguments: ['%session.storage.options%'] |
|
Drupal\Core\Session\SessionConfigurationInterface: '@session_configuration' |
|
session: |
|
class: Symfony\Component\HttpFoundation\Session\Session |
|
arguments: ['@session_manager', '@session.attribute_bag', '@session.flash_bag'] |
|
tags: |
|
- { name: service_collector, tag: session_bag, call: registerBag } |
|
Symfony\Component\HttpFoundation\Session\SessionInterface: '@session' |
|
# session.flash_bag has special treatment: it is passed to the session |
|
# service as an argument. Other services using FlashBag should be tagged |
|
# with the session_bag tag, so that they will persist across page loads. |
|
session.flash_bag: |
|
class: Symfony\Component\HttpFoundation\Session\Flash\FlashBag |
|
public: false |
|
Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface: '@session.flash_bag' |
|
session.attribute_bag: |
|
class: Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag |
|
public: false |
|
Symfony\Component\HttpFoundation\Session\Attribute\AttributeBagInterface: '@session.attribute_bag' |
|
session_handler: |
|
alias: session_handler.storage |
|
session_handler.storage: |
|
class: Drupal\Core\Session\SessionHandler |
|
arguments: ['@request_stack', '@database', '@datetime.time'] |
|
tags: |
|
- { name: backend_overridable } |
|
session_handler.write_safe: |
|
class: Drupal\Core\Session\WriteSafeSessionHandler |
|
tags: |
|
- { name: session_handler_proxy, priority: 150 } |
|
Drupal\Core\Session\WriteSafeSessionHandlerInterface: '@session_handler.write_safe' |
|
session_manager: |
|
class: Drupal\Core\Session\SessionManager |
|
arguments: ['@request_stack', '@database', '@session_manager.metadata_bag', '@session_configuration', '@datetime.time', '@session_handler'] |
|
tags: |
|
- { name: backend_overridable } |
|
calls: |
|
- [setWriteSafeHandler, ['@session_handler.write_safe']] |
|
Drupal\Core\Session\SessionManagerInterface: '@session_manager' |
|
session_manager.metadata_bag: |
|
class: Drupal\Core\Session\MetadataBag |
|
arguments: ['@settings'] |
|
Drupal\Core\Session\MetadataBag: '@session_manager.metadata_bag' |
|
asset.css.collection_renderer: |
|
class: Drupal\Core\Asset\CssCollectionRenderer |
|
arguments: [ '@asset.query_string', '@file_url_generator' ] |
|
asset.css.collection_optimizer: |
|
class: Drupal\Core\Asset\CssCollectionOptimizerLazy |
|
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'] |
|
asset.css.optimizer: |
|
class: Drupal\Core\Asset\CssOptimizer |
|
arguments: ['@file_url_generator'] |
|
asset.css.collection_grouper: |
|
class: Drupal\Core\Asset\CssCollectionGrouper |
|
asset.css.dumper: |
|
class: Drupal\Core\Asset\AssetDumper |
|
arguments: ['@file_system'] |
|
asset.js.collection_renderer: |
|
class: Drupal\Core\Asset\JsCollectionRenderer |
|
arguments: [ '@asset.query_string','@file_url_generator', '@datetime.time' ] |
|
asset.js.collection_optimizer: |
|
class: Drupal\Core\Asset\JsCollectionOptimizerLazy |
|
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'] |
|
asset.js.optimizer: |
|
class: Drupal\Core\Asset\JsOptimizer |
|
arguments: ['@logger.channel.default'] |
|
asset.js.collection_grouper: |
|
class: Drupal\Core\Asset\JsCollectionGrouper |
|
asset.js.dumper: |
|
class: Drupal\Core\Asset\AssetDumper |
|
arguments: ['@file_system'] |
|
library.discovery: |
|
class: Drupal\Core\Asset\LibraryDiscoveryCollector |
|
arguments: ['@cache.discovery', '@lock', '@library.discovery.parser', '@theme.manager'] |
|
tags: |
|
- { name: needs_destruction } |
|
Drupal\Core\Asset\LibraryDiscoveryInterface: '@library.discovery' |
|
library.discovery.collector: |
|
arguments: ['@cache.discovery', '@lock', '@library.discovery.parser', '@theme.manager'] |
|
class: Drupal\Core\Asset\LibraryDiscoveryCollector |
|
deprecated: The "%service_id%" service is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use LibraryDiscovery instead. See https://www.drupal.org/node/3462970 |
|
library.discovery.parser: |
|
class: Drupal\Core\Asset\LibraryDiscoveryParser |
|
arguments: ['%app.root%', '@module_handler', '@theme.manager', '@stream_wrapper_manager', '@library.libraries_directory_file_finder', '@extension.path.resolver', '@plugin.manager.sdc'] |
|
Drupal\Core\Asset\LibraryDiscoveryParser: '@library.discovery.parser' |
|
library.libraries_directory_file_finder: |
|
class: Drupal\Core\Asset\LibrariesDirectoryFileFinder |
|
arguments: ['%app.root%', '%site.path%', '@extension.list.profile', '%install_profile%'] |
|
Drupal\Core\Asset\LibrariesDirectoryFileFinder: '@library.libraries_directory_file_finder' |
|
library.dependency_resolver: |
|
class: Drupal\Core\Asset\LibraryDependencyResolver |
|
arguments: ['@library.discovery'] |
|
Drupal\Core\Asset\LibraryDependencyResolverInterface: '@library.dependency_resolver' |
|
# Set up a cache chain for asset caching as the same assets may be |
|
# requested several times, non-public as they are not meant to be reused. |
|
cache.asset_chain: |
|
class: Drupal\Core\Cache\BackendChain |
|
public: false |
|
calls: |
|
- [ appendBackend, [ '@cache.memory' ] ] |
|
- [ appendBackend, [ '@cache.data' ] ] |
|
asset.resolver: |
|
class: Drupal\Core\Asset\AssetResolver |
|
arguments: ['@library.discovery', '@library.dependency_resolver', '@module_handler', '@theme.manager', '@language_manager', '@cache.asset_chain', '@theme_handler'] |
|
Drupal\Core\Asset\AssetResolverInterface: '@asset.resolver' |
|
info_parser: |
|
class: Drupal\Core\Extension\InfoParser |
|
arguments: ['%app.root%'] |
|
Drupal\Core\Extension\InfoParserInterface: '@info_parser' |
|
twig: |
|
class: Drupal\Core\Template\TwigEnvironment |
|
arguments: ['%app.root%', '@cache.default', '%twig_extension_hash%', '@state', '@twig.loader', '%twig.config%'] |
|
tags: |
|
- { name: service_collector, tag: 'twig.extension', call: addExtension } |
|
Drupal\Core\Template\TwigEnvironment: '@twig' |
|
twig.extension: |
|
class: Drupal\Core\Template\TwigExtension |
|
arguments: ['@renderer', '@url_generator', '@theme.manager', '@date.formatter', '@file_url_generator'] |
|
tags: |
|
- { name: twig.extension, priority: 100 } |
|
Drupal\Core\Template\ComponentsTwigExtension: |
|
arguments: ['@plugin.manager.sdc', '@Drupal\Core\Theme\Component\ComponentValidator'] |
|
tags: |
|
- { name: twig.extension, priority: 101 } |
|
Drupal\Core\Template\IconsTwigExtension: |
|
arguments: ['@plugin.manager.icon_pack'] |
|
tags: |
|
- { name: twig.extension, priority: 101 } |
|
twig.extension.debug: |
|
class: Twig\Extension\DebugExtension |
|
tags: |
|
- { name: twig.extension, priority: 50 } |
|
twig.extension.varDumper: |
|
class: Drupal\Core\Template\DebugExtension |
|
tags: |
|
# This extension is loaded after the Twig Debug Extension because for Twig |
|
# Extensions, last extension loaded takes precedent. This allows this |
|
# extension to override the default Twig Debug Extension conditionally |
|
# when Symfony VarDumper is available. |
|
- { name: twig.extension, priority: 25 } |
|
twig.loader: |
|
class: Twig\Loader\ChainLoader |
|
public: false |
|
tags: |
|
- { name: service_collector, tag: twig.loader, call: addLoader, required: TRUE } |
|
Twig\Loader\LoaderInterface: '@twig.loader' |
|
twig.loader.filesystem: |
|
class: Drupal\Core\Template\Loader\FilesystemLoader |
|
# We use '.' instead of '%app.root%' as the path for non-namespaced template |
|
# files so that they match the relative paths of templates loaded via the |
|
# theme registry or via Twig namespaces. |
|
arguments: ['.', '@module_handler', '@theme_handler', '%twig.config%'] |
|
tags: |
|
- { name: twig.loader, priority: 100 } |
|
twig.loader.theme_registry: |
|
class: Drupal\Core\Template\Loader\ThemeRegistryLoader |
|
arguments: ['@theme.registry'] |
|
tags: |
|
- { name: twig.loader, priority: 0 } |
|
twig.loader.string: |
|
class: Drupal\Core\Template\Loader\StringLoader |
|
tags: |
|
- { name: twig.loader, priority: -100 } |
|
element_info: |
|
alias: plugin.manager.element_info |
|
file.htaccess_writer: |
|
class: Drupal\Core\File\HtaccessWriter |
|
arguments: ['@logger.channel.security', '@stream_wrapper_manager', '@settings'] |
|
Drupal\Core\File\HtaccessWriterInterface: '@file.htaccess_writer' |
|
file.mime_type.guesser: |
|
class: Drupal\Core\File\MimeType\MimeTypeGuesser |
|
arguments: ['@stream_wrapper_manager'] |
|
tags: |
|
- { name: service_collector, tag: mime_type_guesser, call: addMimeTypeGuesser } |
|
lazy: true |
|
file.mime_type.guesser.extension: |
|
class: Drupal\Core\File\MimeType\ExtensionMimeTypeGuesser |
|
arguments: ['@Drupal\Core\File\MimeType\MimeTypeMapInterface'] |
|
tags: |
|
- { name: mime_type_guesser } |
|
lazy: true |
|
Drupal\Core\File\MimeType\MimeTypeMapFactory: |
|
autowire: true |
|
public: false |
|
Drupal\Core\File\MimeType\MimeTypeMapInterface: |
|
factory: ['@Drupal\Core\File\MimeType\MimeTypeMapFactory', create] |
|
Drupal\Core\File\EventSubscriber\LegacyMimeTypeMapLoadedSubscriber: |
|
autowire: true |
|
# Currently needs to be public as it is called by |
|
# \Drupal\Core\Render\Element\StatusMessages. |
|
# @todo Consider making this service private again after |
|
# https://www.drupal.org/node/2367555 lands. |
|
render_placeholder_generator: |
|
class: Drupal\Core\Render\PlaceholderGenerator |
|
arguments: ['@cache_contexts_manager', '%renderer.config%'] |
|
Drupal\Core\Render\PlaceholderGeneratorInterface: '@render_placeholder_generator' |
|
render_cache: |
|
class: Drupal\Core\Render\PlaceholderingRenderCache |
|
arguments: ['@request_stack', '@variation_cache_factory', '@cache_contexts_manager', '@render_placeholder_generator'] |
|
Drupal\Core\Render\RenderCacheInterface: '@render_cache' |
|
renderer: |
|
class: Drupal\Core\Render\Renderer |
|
arguments: ['@callable_resolver', '@theme.manager', '@plugin.manager.element_info', '@render_placeholder_generator', '@render_cache', '@request_stack', '%renderer.config%'] |
|
Drupal\Core\Render\RendererInterface: '@renderer' |
|
early_rendering_controller_wrapper_subscriber: |
|
class: Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber |
|
arguments: ['@http_kernel.controller.argument_resolver', '@renderer'] |
|
# Placeholder strategies for rendering placeholders. |
|
html_response.placeholder_strategy_subscriber: |
|
class: Drupal\Core\EventSubscriber\HtmlResponsePlaceholderStrategySubscriber |
|
arguments: ['@placeholder_strategy'] |
|
placeholder_strategy: |
|
class: Drupal\Core\Render\Placeholder\ChainedPlaceholderStrategy |
|
tags: |
|
- { name: service_collector, tag: placeholder_strategy, call: addPlaceholderStrategy } |
|
Drupal\Core\Render\Placeholder\PlaceholderStrategyInterface: '@placeholder_strategy' |
|
placeholder_strategy.cached: |
|
class: Drupal\Core\Render\Placeholder\CachedStrategy |
|
arguments: ['@placeholder_strategy', '@render_cache'] |
|
tags: |
|
- { name: placeholder_strategy, priority: 100 } |
|
placeholder_strategy.single_flush: |
|
class: Drupal\Core\Render\Placeholder\SingleFlushStrategy |
|
tags: |
|
- { name: placeholder_strategy, priority: -1000 } |
|
email.validator: |
|
class: Drupal\Component\Utility\EmailValidator |
|
Drupal\Component\Utility\EmailValidatorInterface: '@email.validator' |
|
update.update_hook_registry: |
|
class: Drupal\Core\Update\UpdateHookRegistry |
|
arguments: ['%container.modules%', '@keyvalue'] |
|
Drupal\Core\Update\UpdateHookRegistry: '@update.update_hook_registry' |
|
update.post_update_registry: |
|
class: Drupal\Core\Update\UpdateRegistry |
|
arguments: ['%app.root%', '%site.path%', '%container.modules%', '@update.key_value.post_update', '@theme_handler', 'post_update'] |
|
update.key_value.post_update: |
|
class: Drupal\Core\KeyValueStore\KeyValueStoreInterface |
|
factory: ['@keyvalue', 'get'] |
|
arguments: ['post_update'] |
|
public: false |
|
uuid: |
|
class: Drupal\Component\Uuid\Php |
|
Drupal\Component\Uuid\UuidInterface: '@uuid' |
|
response_filter.active_link: |
|
class: Drupal\Core\EventSubscriber\ActiveLinkResponseFilter |
|
arguments: ['@current_user', '@path.current', '@path.matcher', '@language_manager'] |
|
response_filter.rss.relative_url: |
|
class: Drupal\Core\EventSubscriber\RssResponseRelativeUrlFilter |
|
messenger: |
|
class: Drupal\Core\Messenger\Messenger |
|
arguments: ['@session.flash_bag', '@page_cache_kill_switch'] |
|
Drupal\Core\Messenger\MessengerInterface: '@messenger' |
|
tempstore.private: |
|
class: Drupal\Core\TempStore\PrivateTempStoreFactory |
|
arguments: ['@keyvalue.expirable', '@lock', '@current_user', '@request_stack', '%tempstore.expire%'] |
|
tags: |
|
- { name: backend_overridable } |
|
Drupal\Core\TempStore\PrivateTempStoreFactory: '@tempstore.private' |
|
tempstore.shared: |
|
class: Drupal\Core\TempStore\SharedTempStoreFactory |
|
arguments: ['@keyvalue.expirable', '@lock', '@request_stack', '@current_user', '%tempstore.expire%'] |
|
tags: |
|
- { name: backend_overridable } |
|
Drupal\Core\TempStore\SharedTempStoreFactory: '@tempstore.shared' |
|
pager.manager: |
|
class: Drupal\Core\Pager\PagerManager |
|
arguments: ['@pager.parameters'] |
|
Drupal\Core\Pager\PagerManagerInterface: '@pager.manager' |
|
pager.parameters: |
|
class: Drupal\Core\Pager\PagerParameters |
|
arguments: ['@request_stack'] |
|
Drupal\Core\Pager\PagerParametersInterface: '@pager.parameters' |
|
Drupal\Core\Pager\PagerPreprocess: |
|
class: Drupal\Core\Pager\PagerPreprocess |
|
autowire: true |
|
Drupal\Core\Theme\Component\SchemaCompatibilityChecker: {} |
|
Drupal\Core\Theme\Component\ComponentValidator: |
|
calls: |
|
- [setValidator, []] |
|
Drupal\Core\Theme\ComponentNegotiator: |
|
arguments: |
|
- '@theme.manager' |
|
plugin.manager.sdc: |
|
public: true |
|
class: Drupal\Core\Theme\ComponentPluginManager |
|
arguments: |
|
- '@module_handler' |
|
- '@theme_handler' |
|
- '@cache.discovery' |
|
- '@config.factory' |
|
- '@theme.manager' |
|
- '@Drupal\Core\Theme\ComponentNegotiator' |
|
- '@file_system' |
|
- '@Drupal\Core\Theme\Component\SchemaCompatibilityChecker' |
|
- '@Drupal\Core\Theme\Component\ComponentValidator' |
|
- '%app.root%' |
|
Drupal\Core\Theme\ComponentPluginManager: '@plugin.manager.sdc' |
|
Drupal\Core\Template\Loader\ComponentLoader: |
|
arguments: |
|
- '@plugin.manager.sdc' |
|
- '@logger.channel.default' |
|
tags: |
|
- { name: twig.loader, priority: 5 } |
|
Drupal\Core\EventSubscriber\CsrfExceptionSubscriber: ~ |
|
plugin.manager.icon_pack: |
|
class: Drupal\Core\Theme\Icon\Plugin\IconPackManager |
|
calls: |
|
- [setValidator, []] |
|
arguments: |
|
[ |
|
'@module_handler', |
|
'@theme_handler', |
|
'@cache.discovery', |
|
'@plugin.manager.icon_extractor', |
|
'@Drupal\Core\Theme\Icon\IconCollector', |
|
'%app.root%', |
|
] |
|
Drupal\Core\Theme\Icon\Plugin\IconPackManagerInterface: '@plugin.manager.icon_pack' |
|
plugin.manager.icon_extractor: |
|
class: Drupal\Core\Theme\Icon\IconExtractorPluginManager |
|
parent: default_plugin_manager |
|
arguments: ['@plugin_form.factory'] |
|
Drupal\Core\Theme\Icon\IconExtractorPluginManager: '@plugin.manager.icon_extractor' |
|
Drupal\Core\Theme\Icon\IconFinder: |
|
autowire: true |
|
arguments: |
|
[ |
|
'@file_url_generator', |
|
'@logger.channel.default', |
|
'%app.root%', |
|
] |
|
Drupal\Core\Theme\Icon\IconCollector: |
|
arguments: |
|
[ |
|
'@plugin.manager.icon_extractor', |
|
'@cache.default', |
|
'@lock', |
|
] |
|
tags: |
|
- { name: needs_destruction } |
|
Drupal\Core\Extension\ThemeSettingsProvider: |
|
autowire: true
|
|
|