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

Namesort ascending File Class Tags
_defaults core/modules/locale/locale.services.yml
_defaults core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_building/jsonapi_test_resource_type_building.services.yml
_defaults core/modules/system/tests/modules/logger_aware_test/logger_aware_test.services.yml
workspace_update_test.negotiator.test core/modules/workspaces/tests/modules/workspace_update_test/workspace_update_test.services.yml Drupal\workspace_update_test\Negotiator\TestWorkspaceNegotiator workspace_negotiator
workspaces.workspace_subscriber core/modules/workspaces/workspaces.services.yml Drupal\workspaces\EventSubscriber\WorkspaceRequestSubscriber
workspaces.repository core/modules/workspaces/workspaces.services.yml Drupal\workspaces\WorkspaceRepository
workspaces.operation_factory core/modules/workspaces/workspaces.services.yml Drupal\workspaces\WorkspaceOperationFactory
workspaces.negotiator.session core/modules/workspaces/workspaces.services.yml Drupal\workspaces\Negotiator\SessionWorkspaceNegotiator workspace_negotiator
workspaces.negotiator.query_parameter core/modules/workspaces/workspaces.services.yml Drupal\workspaces\Negotiator\QueryParameterWorkspaceNegotiator workspace_negotiator
workspaces.menu.tree_storage core/modules/workspaces/workspaces.services.yml Drupal\workspaces\WorkspacesMenuTreeStorage backend_overridable
workspaces.manager core/modules/workspaces/workspaces.services.yml Drupal\workspaces\WorkspaceManager service_id_collector
workspaces.lazy_builders core/modules/workspaces/workspaces.services.yml Drupal\workspaces\WorkspacesLazyBuilders
workspaces.information core/modules/workspaces/workspaces.services.yml Drupal\workspaces\WorkspaceInformation
workspaces.entity_schema_listener core/modules/workspaces/workspaces.services.yml Drupal\workspaces\EventSubscriber\EntitySchemaSubscriber
workspaces.entity.query.sql core/modules/workspaces/workspaces.services.yml Drupal\workspaces\EntityQuery\QueryFactory backend_overridable
workspaces.controller.entity_form core/modules/workspaces/workspaces.services.yml Drupal\workspaces\Controller\WorkspacesHtmlEntityFormController
workspaces.association core/modules/workspaces/workspaces.services.yml Drupal\workspaces\WorkspaceAssociation backend_overridable
workflows.access_check.extended_permissions core/modules/workflows/workflows.services.yml Drupal\workflows\WorkflowStateTransitionOperationsAccessCheck access_check
views.views_data_helper core/modules/views/views.services.yml Drupal\views\ViewsDataHelper
views.views_data core/modules/views/views.services.yml Drupal\views\ViewsData backend_overridable
views.route_subscriber core/modules/views/views.services.yml Drupal\views\EventSubscriber\RouteSubscriber
views.exposed_form_cache core/modules/views/views.services.yml Drupal\views\ExposedFormCache
views.executable core/modules/views/views.services.yml Drupal\views\ViewExecutableFactory
views.entity_schema_subscriber core/modules/views/views.services.yml Drupal\views\EventSubscriber\ViewsEntitySchemaSubscriber
views.date_sql core/modules/views/views.services.yml Drupal\views\Plugin\views\query\MysqlDateSql backend_overridable
views.cast_sql core/modules/views/views.services.yml Drupal\views\Plugin\views\query\CastSql backend_overridable
views.analyzer core/modules/views/views.services.yml Drupal\views\Analyzer
variation_cache_factory core/core.services.yml Drupal\Core\Cache\VariationCacheFactory
variation_cache.jsonapi_normalizations core/modules/jsonapi/jsonapi.services.yml Drupal\Core\Cache\VariationCacheInterface
variation_cache.dynamic_page_cache core/modules/dynamic_page_cache/dynamic_page_cache.services.yml Drupal\Core\Cache\VariationCacheInterface
variation_cache.access_policy_memory core/core.services.yml Drupal\Core\Cache\VariationCacheInterface
variation_cache.access_policy core/core.services.yml Drupal\Core\Cache\VariationCacheInterface
validation.constraint core/core.services.yml Drupal\Core\Validation\ConstraintManager plugin_manager_cache_clear
validation.basic_recursive_validator_factory core/core.services.yml Drupal\Core\Validation\BasicRecursiveValidatorFactory
uuid core/core.services.yml Drupal\Component\Uuid\Php
user_permissions_hash_generator core/core.services.yml Drupal\Core\Session\PermissionsHashGenerator
user_maintenance_mode_subscriber core/modules/user/user.services.yml Drupal\user\EventSubscriber\MaintenanceModeSubscriber
user_last_access_subscriber core/modules/user/user.services.yml Drupal\user\EventSubscriber\UserRequestSubscriber
user_access_denied_subscriber core/modules/user/user.services.yml Drupal\user\EventSubscriber\AccessDeniedSubscriber
user.toolbar_link_builder core/modules/user/user.services.yml Drupal\user\ToolbarLinkBuilder
user.permissions core/modules/user/user.services.yml Drupal\user\PermissionHandler
user.name_validator core/modules/user/user.services.yml Drupal\user\UserNameValidator
user.module_permissions_link_helper core/modules/user/user.services.yml Drupal\user\ModulePermissionsLinkHelper
user.flood_subscriber core/modules/user/user.services.yml Drupal\user\EventSubscriber\UserFloodSubscriber
user.flood_control core/modules/user/user.services.yml Drupal\user\UserFloodControl
user.data core/modules/user/user.services.yml Drupal\user\UserData backend_overridable
user.current_user_context core/modules/user/user.services.yml Drupal\user\ContextProvider\CurrentUserContext context_provider
user.authentication.cookie core/modules/user/user.services.yml Drupal\user\Authentication\Provider\Cookie authentication_provider
user.auth core/modules/user/user.services.yml Drupal\user\UserAuth
url_generator.non_bubbling core/core.services.yml Drupal\Core\Routing\UrlGenerator

Pages

Other projects