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.cache', '@lock', '@state', '@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', '@module_handler', '@cache.cache', '@language_manager'] 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 redirect_response_subscriber: class: Drupal\Core\EventSubscriber\RedirectResponseSubscriber arguments: ['@url_generator'] tags: - { name: event_subscriber } 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 breadcrumb: class: Drupal\Core\Breadcrumb\BreadcrumbManager 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'] feed.bridge.reader: class: Drupal\Component\Bridge\ZfExtensionManagerSfContainer calls: - [setContainer, ['@service_container']] arguments: ['feed.reader.'] feed.bridge.writer: class: Drupal\Component\Bridge\ZfExtensionManagerSfContainer calls: - [setContainer, ['@service_container']] arguments: ['feed.writer.'] # Zend Feed reader plugins feed.reader.dublincoreentry: class: Zend\Feed\Reader\Extension\DublinCore\Entry feed.reader.dublincorefeed: class: Zend\Feed\Reader\Extension\DublinCore\Feed feed.reader.contententry: class: Zend\Feed\Reader\Extension\Content\Entry feed.reader.atomentry: class: Zend\Feed\Reader\Extension\Atom\Entry feed.reader.atomfeed: class: Zend\Feed\Reader\Extension\Atom\Feed feed.reader.slashentry: class: Zend\Feed\Reader\Extension\Slash\Entry feed.reader.wellformedwebentry: class: Zend\Feed\Reader\Extension\WellFormedWeb\Entry feed.reader.threadentry: class: Zend\Feed\Reader\Extension\Thread\Entry feed.reader.podcastentry: class: Zend\Feed\Reader\Extension\Podcast\Entry feed.reader.podcastfeed: class: Zend\Feed\Reader\Extension\Podcast\Feed # Zend Feed writer plugins feed.writer.atomrendererfeed: class: Zend\Feed\Writer\Extension\Atom\Renderer\Feed feed.writer.contentrendererentry: class: Zend\Feed\Writer\Extension\Content\Renderer\Entry feed.writer.dublincorerendererentry: class: Zend\Feed\Writer\Extension\DublinCore\Renderer\Entry feed.writer.dublincorerendererfeed: class: Zend\Feed\Writer\Extension\DublinCore\Renderer\Feed feed.writer.itunesentry: class: Zend\Feed\Writer\Extension\ITunes\Entry feed.writer.itunesfeed: class: Zend\Feed\Writer\Extension\ITunes\Feed feed.writer.itunesrendererentry: class: Zend\Feed\Writer\Extension\ITunes\Renderer\Entry feed.writer.itunesrendererfeed: class: Zend\Feed\Writer\Extension\ITunes\Renderer\Feed feed.writer.slashrendererentry: class: Zend\Feed\Writer\Extension\Slash\Renderer\Entry feed.writer.threadingrendererentry: class: Zend\Feed\Writer\Extension\Threading\Renderer\Entry feed.writer.wellformedwebrendererentry: class: Zend\Feed\Writer\Extension\WellFormedWeb\Renderer\Entry