drupal/core/core.services.yml

460 lines
16 KiB
YAML
Raw Normal View History

services:
cache_factory:
class: Drupal\Core\Cache\CacheFactory
arguments: ['@settings']
calls:
- [setContainer, ['@service_container']]
cache.backend.database:
class: Drupal\Core\Cache\DatabaseBackendFactory
arguments: ['@database']
cache.backend.memory:
class: Drupal\Core\Cache\MemoryBackendFactory
cache.bootstrap:
class: Drupal\Core\Cache\CacheBackendInterface
tags:
- { name: cache.bin }
factory_method: get
factory_service: cache_factory
arguments: [bootstrap]
cache.config:
class: Drupal\Core\Cache\CacheBackendInterface
tags:
- { name: cache.bin }
factory_method: get
factory_service: cache_factory
arguments: [config]
cache.cache:
class: Drupal\Core\Cache\CacheBackendInterface
tags:
- { name: cache.bin }
factory_method: get
factory_service: cache_factory
arguments: [cache]
cache.menu:
class: Drupal\Core\Cache\CacheBackendInterface
tags:
- { name: cache.bin }
factory_method: get
factory_service: cache_factory
arguments: [menu]
cache.page:
class: Drupal\Core\Cache\CacheBackendInterface
tags:
- { name: cache.bin }
factory_method: get
factory_service: cache_factory
arguments: [page]
cache.path:
class: Drupal\Core\Cache\CacheBackendInterface
tags:
- { name: cache.bin }
factory_method: get
factory_service: cache_factory
arguments: [path]
config.cachedstorage.storage:
class: Drupal\Core\Config\FileStorage
factory_class: Drupal\Core\Config\FileStorageFactory
factory_method: getActive
config.storage:
class: Drupal\Core\Config\CachedStorage
arguments: ['@config.cachedstorage.storage', '@cache.config']
config.context.factory:
class: Drupal\Core\Config\Context\ConfigContextFactory
arguments: ['@event_dispatcher']
config.context:
class: Drupal\Core\Config\Context\ContextInterface
tags:
- { name: persist }
factory_method: get
factory_service: config.context.factory
config.context.free:
class: Drupal\Core\Config\Context\ContextInterface
factory_method: get
factory_service: config.context.factory
arguments: [Drupal\Core\Config\Context\FreeConfigContext]
config.factory:
class: Drupal\Core\Config\ConfigFactory
tags:
- { name: persist }
arguments: ['@config.storage', '@config.context']
config.storage.staging:
class: Drupal\Core\Config\FileStorage
factory_class: Drupal\Core\Config\FileStorageFactory
factory_method: getStaging
config.storage.snapshot:
class: Drupal\Core\Config\DatabaseStorage
arguments: ['@database', config_snapshot]
config.storage.schema:
class: Drupal\Core\Config\Schema\SchemaStorage
config.storage.installer:
class: Drupal\Core\Config\InstallStorage
config.typed:
class: Drupal\Core\Config\TypedConfigManager
arguments: ['@config.storage', '@config.storage.schema']
database:
class: Drupal\Core\Database\Connection
factory_class: Drupal\Core\Database\Database
factory_method: getConnection
arguments: [default]
keyvalue:
class: Drupal\Core\KeyValueStore\KeyValueFactory
arguments: ['@service_container']
keyvalue.database:
class: Drupal\Core\KeyValueStore\KeyValueDatabaseFactory
arguments: ['@database']
keyvalue.expirable:
class: Drupal\Core\KeyValueStore\KeyValueExpirableFactory
arguments: ['@service_container']
keyvalue.expirable.database:
class: Drupal\Core\KeyValueStore\KeyValueDatabaseExpirableFactory
tags:
- { name: needs_destruction }
arguments: ['@database']
settings:
class: Drupal\Component\Utility\Settings
factory_class: Drupal\Component\Utility\Settings
factory_method: getSingleton
state:
class: Drupal\Core\KeyValueStore\KeyValueStoreInterface
factory_method: get
factory_service: keyvalue
arguments: [state]
queue:
class: Drupal\Core\Queue\QueueFactory
arguments: ['@settings']
calls:
- [setContainer, ['@service_container']]
queue.database:
class: Drupal\Core\Queue\QueueDatabaseFactory
arguments: ['@database']
path.alias_whitelist:
class: Drupal\Core\Path\AliasWhitelist
tags:
- { name: needs_destruction }
arguments: [path_alias_whitelist, cache, '@keyvalue', '@database']
path.alias_manager:
class: Drupal\Core\Path\AliasManager
arguments: ['@database', '@path.alias_whitelist', '@language_manager']
http_client_simpletest_subscriber:
class: Drupal\Core\Http\Plugin\SimpletestHttpRequestSubscriber
http_default_client:
class: Guzzle\Http\Client
arguments: [null, { curl.CURLOPT_TIMEOUT: 30, curl.CURLOPT_MAXREDIRS: 3 }]
calls:
- [addSubscriber, ['@http_client_simpletest_subscriber']]
- [setUserAgent, ['Drupal (+http://drupal.org/)']]
container.namespaces:
class: ArrayObject
arguments: [ '%container.namespaces%' ]
tags:
- { name: persist }
plugin.manager.entity:
class: Drupal\Core\Entity\EntityManager
arguments: ['@container.namespaces', '@service_container']
plugin.manager.archiver:
class: Drupal\Core\Archiver\ArchiverManager
arguments: ['@container.namespaces', '@cache.cache', '@language_manager', '@module_handler']
plugin.manager.action:
class: Drupal\Core\Action\ActionManager
arguments: ['@container.namespaces']
request:
class: Symfony\Component\HttpFoundation\Request
# @TODO the synthetic setting must be uncommented whenever drupal_session_initialize()
# is run after there is a request and the following two lines should be removed.
factory_class: Symfony\Component\HttpFoundation\Request
factory_method: createFromGlobals
#synthetic: true
event_dispatcher:
class: Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher
arguments: ['@service_container']
controller_resolver:
class: Drupal\Core\Controller\ControllerResolver
arguments: ['@service_container']
http_kernel:
class: Drupal\Core\HttpKernel
arguments: ['@event_dispatcher', '@service_container', '@controller_resolver']
language_manager:
class: Drupal\Core\Language\LanguageManager
string_translator.custom_strings:
class: Drupal\Core\StringTranslation\Translator\CustomStrings
tags:
- { name: string_translator, priority: 30 }
string_translation:
class: Drupal\Core\StringTranslation\TranslationManager
database.slave:
class: Drupal\Core\Database\Connection
factory_class: Drupal\Core\Database\Database
factory_method: getConnection
arguments: [slave]
typed_data:
class: Drupal\Core\TypedData\TypedDataManager
calls:
- [setValidationConstraintManager, ['@validation.constraint']]
validation.constraint:
class: Drupal\Core\Validation\ConstraintManager
arguments: ['@container.namespaces', '@cache.cache', '@language_manager', '@module_handler']
lock:
class: Drupal\Core\Lock\DatabaseLockBackend
user.tempstore:
class: Drupal\user\TempStoreFactory
arguments: ['@database', '@lock']
router.request_context:
class: Symfony\Component\Routing\RequestContext
calls:
- [fromRequest, ['@request']]
router.route_provider:
class: Drupal\Core\Routing\RouteProvider
arguments: ['@database']
router.matcher.final_matcher:
class: Drupal\Core\Routing\UrlMatcher
router.matcher:
class: Symfony\Cmf\Component\Routing\NestedMatcher\NestedMatcher
arguments: ['@router.route_provider']
calls:
- [setFinalMatcher, ['@router.matcher.final_matcher']]
url_generator:
class: Drupal\Core\Routing\UrlGenerator
arguments: ['@router.route_provider', '@path_processor_manager', '@config.factory', '@settings']
calls:
- [setRequest, ['@?request']]
tags:
- { name: persist }
router.dynamic:
class: Symfony\Cmf\Component\Routing\DynamicRouter
arguments: ['@router.request_context', '@router.matcher', '@url_generator']
legacy_generator:
class: Drupal\Core\Routing\NullGenerator
legacy_url_matcher:
class: Drupal\Core\LegacyUrlMatcher
legacy_router:
class: Symfony\Cmf\Component\Routing\DynamicRouter
arguments: ['@router.request_context', '@legacy_url_matcher', '@legacy_generator']
router:
class: Symfony\Cmf\Component\Routing\ChainRouter
calls:
- [setContext, ['@router.request_context']]
- [add, ['@router.dynamic']]
- [add, ['@legacy_router']]
entity.query:
class: Drupal\Core\Entity\Query\QueryFactory
arguments: ['@plugin.manager.entity']
calls:
- [setContainer, ['@service_container']]
entity.query.config:
class: Drupal\Core\Config\Entity\Query\QueryFactory
arguments: ['@config.storage']
router.dumper:
class: Drupal\Core\Routing\MatcherDumper
arguments: ['@database']
router.builder:
class: Drupal\Core\Routing\RouteBuilder
arguments: ['@router.dumper', '@lock', '@event_dispatcher', '@module_handler']
path.alias_manager.cached:
class: Drupal\Core\CacheDecorator\AliasManagerCacheDecorator
arguments: ['@path.alias_manager', '@cache.path']
path.crud:
class: Drupal\Core\Path\Path
arguments: ['@database', '@path.alias_manager']
# The argument to the hashing service defined in services.yml, to the
# constructor of PhpassHashedPassword is the log2 number of iterations for
# password stretching.
# @todo increase by 1 every Drupal version in order to counteract increases in
# the speed and power of computers available to crack the hashes. The current
# password hashing method was introduced in Drupal 7 with a log2 count of 15.
password:
class: Drupal\Core\Password\PhpassHashedPassword
arguments: [16]
mime_type_matcher:
class: Drupal\Core\Routing\MimeTypeMatcher
tags:
- { name: route_filter }
paramconverter_manager:
class: Drupal\Core\ParamConverter\ParamConverterManager
tags:
- { name: route_enhancer }
paramconverter.entity:
class: Drupal\Core\ParamConverter\EntityConverter
tags:
- { name: paramconverter }
arguments: ['@plugin.manager.entity']
reverse_proxy_subscriber:
class: Drupal\Core\EventSubscriber\ReverseProxySubscriber
tags:
- { name: event_subscriber }
arguments: ['@settings']
route_enhancer.content_controller:
class: Drupal\Core\Routing\Enhancer\ContentControllerEnhancer
arguments: ['@content_negotiation']
tags:
- { name: route_enhancer, priority: 30 }
route_enhancer.ajax:
class: Drupal\Core\Routing\Enhancer\AjaxEnhancer
arguments: ['@content_negotiation']
tags:
- { name: route_enhancer, priority: 20 }
- { name: legacy_route_enhancer, priority: 20 }
route_enhancer.entity:
class: Drupal\Core\Entity\Enhancer\EntityRouteEnhancer
arguments: ['@content_negotiation']
tags:
- { name: route_enhancer, priority: 15 }
route_enhancer.form:
class: Drupal\Core\Routing\Enhancer\FormEnhancer
arguments: ['@content_negotiation']
tags:
- { name: route_enhancer, priority: 10 }
controller.page:
class: Drupal\Core\Controller\HtmlPageController
arguments: ['@http_kernel']
controller.dialog:
class: Drupal\Core\Controller\DialogController
arguments: ['@http_kernel']
router_listener:
class: Symfony\Component\HttpKernel\EventListener\RouterListener
tags:
- { name: event_subscriber }
arguments: ['@router']
content_negotiation:
class: Drupal\Core\ContentNegotiation
view_subscriber:
class: Drupal\Core\EventSubscriber\ViewSubscriber
tags:
- { name: event_subscriber }
arguments: ['@content_negotiation']
legacy_access_subscriber:
class: Drupal\Core\EventSubscriber\LegacyAccessSubscriber
tags:
- { name: event_subscriber }
access_manager:
class: Drupal\Core\Access\AccessManager
calls:
- [setContainer, ['@service_container']]
access_subscriber:
class: Drupal\Core\EventSubscriber\AccessSubscriber
tags:
- { name: event_subscriber }
arguments: ['@access_manager']
access_check.default:
class: Drupal\Core\Access\DefaultAccessCheck
tags:
- { name: access_check }
access_check.entity:
class: Drupal\Core\Entity\EntityAccessCheck
tags:
- { name: access_check }
maintenance_mode_subscriber:
class: Drupal\Core\EventSubscriber\MaintenanceModeSubscriber
tags:
- { name: event_subscriber }
path_subscriber:
class: Drupal\Core\EventSubscriber\PathSubscriber
tags:
- { name: event_subscriber }
arguments: ['@path.alias_manager.cached', '@path_processor_manager']
legacy_request_subscriber:
class: Drupal\Core\EventSubscriber\LegacyRequestSubscriber
tags:
- { name: event_subscriber }
legacy_controller_subscriber:
class: Drupal\Core\EventSubscriber\LegacyControllerSubscriber
tags:
- { name: event_subscriber }
finish_response_subscriber:
class: Drupal\Core\EventSubscriber\FinishResponseSubscriber
tags:
- { name: event_subscriber }
arguments: ['@language_manager']
scope: request
request_close_subscriber:
class: Drupal\Core\EventSubscriber\RequestCloseSubscriber
tags:
- { name: event_subscriber }
arguments: ['@module_handler']
config_global_override_subscriber:
class: Drupal\Core\EventSubscriber\ConfigGlobalOverrideSubscriber
tags:
- { name: event_subscriber }
config_import_subscriber:
class: Drupal\Core\EventSubscriber\ConfigImportSubscriber
tags:
- { name: event_subscriber }
config_snapshot_subscriber:
class: Drupal\Core\EventSubscriber\ConfigSnapshotSubscriber
tags:
- { name: event_subscriber }
arguments: ['@config.storage', '@config.storage.snapshot']
language_request_subscriber:
class: Drupal\Core\EventSubscriber\LanguageRequestSubscriber
tags:
- { name: event_subscriber }
arguments: ['@language_manager', '@string_translation']
exception_controller:
class: Drupal\Core\Controller\ExceptionController
arguments: ['@content_negotiation']
calls:
- [setContainer, ['@service_container']]
exception_listener:
class: Symfony\Component\HttpKernel\EventListener\ExceptionListener
tags:
- { name: event_subscriber }
arguments: [['@exception_controller', execute]]
path_processor_manager:
class: Drupal\Core\PathProcessor\PathProcessorManager
path_processor_decode:
class: Drupal\Core\PathProcessor\PathProcessorDecode
tags:
- { name: path_processor_inbound, priority: 1000 }
path_processor_front:
class: Drupal\Core\PathProcessor\PathProcessorFront
tags:
- { name: path_processor_inbound, priority: 200 }
- { name: path_processor_outbound, priority: 200 }
arguments: ['@config.factory']
path_processor_alias:
class: Drupal\Core\PathProcessor\PathProcessorAlias
tags:
- { name: path_processor_inbound, priority: 100 }
- { name: path_processor_outbound, priority: 300 }
arguments: ['@path.alias_manager']
transliteration:
class: Drupal\Core\Transliteration\PHPTransliteration
flood:
class: Drupal\Core\Flood\DatabaseBackend
arguments: ['@database', '@request']
plugin.manager.condition:
class: Drupal\Core\Condition\ConditionManager
arguments: ['@container.namespaces', '@cache.cache', '@language_manager', '@module_handler']
kernel_destruct_subscriber:
class: Drupal\Core\EventSubscriber\KernelDestructionSubscriber
tags:
- { name: event_subscriber }
calls:
- [setContainer, ['@service_container']]
ajax.subscriber:
class: Drupal\Core\Ajax\AjaxSubscriber
tags:
- { name: event_subscriber }
image.toolkit.manager:
class: Drupal\system\Plugin\ImageToolkitManager
arguments: ['@container.namespaces', '@cache.cache', '@language_manager']
image.toolkit:
class: Drupal\system\Plugin\ImageToolkitInterface
factory_method: getDefaultToolkit
factory_service: image.toolkit.manager
token:
class: Drupal\Core\Utility\Token
arguments: ['@module_handler']
batch.storage:
class: Drupal\Core\Utility\BatchStorage
arguments: ['@database']
slave_database_ignore__subscriber:
class: Drupal\Core\EventSubscriber\SlaveDatabaseIgnoreSubscriber
tags:
- {name: event_subscriber}
country_manager:
class: Drupal\Core\Locale\CountryManager
arguments: ['@module_handler']
date:
class: Drupal\Core\Datetime\Date
arguments: ['@config.factory', '@language_manager']