Services - 8.9.x - drupal

Primary tabs

Introduction to services

A "service" (such as accessing the database, sending email, or translating user interface text) can be defined by a module or Drupal core. Defining a service means giving it a name and designating a default class to provide the service; ideally, there should also be an interface that defines the methods that may be called. Services are collected into the Dependency Injection Container, and can be overridden to use different classes or different instantiation by modules. See the Services and Dependency Injection Container topic for details.

Some services have tags, which are defined in the service definition. Tags are used to define a group of related services, or to specify some aspect of how the service behaves. See the Service Tags topic for more information.

See also

Services and Dependency Injection Container

Service Tags

File

core/core.api.php, line 893

Title File name Summary All service tags
access_arguments_resolver_factory core/core.services.yml Drupal\Core\Access\AccessArgumentsResolverFactory
access_check.csrf core/core.services.yml Drupal\Core\Access\CsrfAccessCheck access_check
access_check.custom core/core.services.yml Drupal\Core\Access\CustomAccessCheck access_check
access_check.default core/core.services.yml Drupal\Core\Access\DefaultAccessCheck access_check
access_check.entity core/core.services.yml Drupal\Core\Entity\EntityAccessCheck access_check
access_check.entity_bundles core/core.services.yml Drupal\Core\Entity\EntityBundleAccessCheck access_check
access_check.entity_create core/core.services.yml Drupal\Core\Entity\EntityCreateAccessCheck access_check
access_check.entity_create_any core/core.services.yml Drupal\Core\Entity\EntityCreateAnyAccessCheck access_check
access_check.entity_delete_multiple core/core.services.yml Drupal\Core\Entity\EntityDeleteMultipleAccessCheck access_check
access_check.header.csrf core/core.services.yml Drupal\Core\Access\CsrfRequestHeaderAccessCheck access_check
access_check.theme core/core.services.yml Drupal\Core\Theme\ThemeAccessCheck access_check
access_manager core/core.services.yml Drupal\Core\Access\AccessManager
access_manager.check_provider core/core.services.yml Drupal\Core\Access\CheckProvider
account_switcher core/core.services.yml Drupal\Core\Session\AccountSwitcher
ajax_response.attachments_processor core/core.services.yml Drupal\Core\Ajax\AjaxResponseAttachmentsProcessor
ajax_response.subscriber core/core.services.yml Drupal\Core\EventSubscriber\AjaxResponseSubscriber event_subscriber
anonymous_user_response_subscriber core/core.services.yml Drupal\Core\EventSubscriber\AnonymousUserResponseSubscriber event_subscriber
app.root core/core.services.yml SplString parameter_service
app.root.factory core/core.services.yml Drupal\Core\AppRootFactory
argument_resolver.default core/core.services.yml Symfony\Component\HttpKernel\Controller\ArgumentResolver\DefaultValueResolver
argument_resolver.psr7_request core/core.services.yml Drupal\Core\Controller\ArgumentResolver\Psr7RequestValueResolver
argument_resolver.request core/core.services.yml Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestValueResolver
argument_resolver.request_attribute core/core.services.yml Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestAttributeValueResolver
argument_resolver.route_match core/core.services.yml Drupal\Core\Controller\ArgumentResolver\RouteMatchValueResolver
asset.css.collection_grouper core/core.services.yml Drupal\Core\Asset\CssCollectionGrouper
asset.css.collection_optimizer core/core.services.yml Drupal\Core\Asset\CssCollectionOptimizer
asset.css.collection_renderer core/core.services.yml Drupal\Core\Asset\CssCollectionRenderer
asset.css.dumper core/core.services.yml Drupal\Core\Asset\AssetDumper
asset.css.optimizer core/core.services.yml Drupal\Core\Asset\CssOptimizer
asset.js.collection_grouper core/core.services.yml Drupal\Core\Asset\JsCollectionGrouper
asset.js.collection_optimizer core/core.services.yml Drupal\Core\Asset\JsCollectionOptimizer
asset.js.collection_renderer core/core.services.yml Drupal\Core\Asset\JsCollectionRenderer
asset.js.dumper core/core.services.yml Drupal\Core\Asset\AssetDumper
asset.js.optimizer core/core.services.yml Drupal\Core\Asset\JsOptimizer
asset.resolver core/core.services.yml Drupal\Core\Asset\AssetResolver
authentication core/core.services.yml Drupal\Core\Authentication\AuthenticationManager
authentication_collector core/core.services.yml Drupal\Core\Authentication\AuthenticationCollector service_collector
authentication_subscriber core/core.services.yml Drupal\Core\EventSubscriber\AuthenticationSubscriber event_subscriber
bare_html_page_renderer core/core.services.yml Drupal\Core\Render\BareHtmlPageRenderer
batch.storage core/core.services.yml Drupal\Core\Batch\BatchStorage backend_overridable
block_place.page_display_variant_subscriber.block core/modules/block_place/block_place.services.yml Drupal\block_place\EventSubscriber\BlockPlaceEventSubscriber event_subscriber
breadcrumb core/core.services.yml Drupal\Core\Breadcrumb\BreadcrumbManager service_collector
cache.backend.apcu core/core.services.yml Drupal\Core\Cache\ApcuBackendFactory
cache.backend.chainedfast core/core.services.yml Drupal\Core\Cache\ChainedFastBackendFactory
cache.backend.database core/core.services.yml Drupal\Core\Cache\DatabaseBackendFactory
cache.backend.memory core/core.services.yml Drupal\Core\Cache\MemoryBackendFactory
cache.backend.null core/assets/scaffold/files/development.services.yml Drupal\Core\Cache\NullBackendFactory
cache.backend.php core/core.services.yml Drupal\Core\Cache\PhpBackendFactory
cache.bootstrap core/core.services.yml Drupal\Core\Cache\CacheBackendInterface cache.bin
cache.config core/core.services.yml Drupal\Core\Cache\CacheBackendInterface cache.bin

Other projects


Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.