Services - main - 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 912

Title File name Summary All service tags
mysqli.views.cast_sql core/modules/mysqli/mysqli.services.yml Drupal\mysqli\Plugin\views\query\MysqliCastSql
navigation.entity_route_helper core/modules/navigation/navigation.services.yml Drupal\navigation\EntityRouteHelper
navigation.menu_tree core/modules/navigation/navigation.services.yml Drupal\navigation\Menu\NavigationMenuLinkTree
navigation.renderer core/modules/navigation/navigation.services.yml Drupal\navigation\NavigationRenderer
new_dependency_test.alias core/modules/system/tests/modules/new_dependency_test/new_dependency_test.services.yml Alias of new_dependency_test.dependent
new_dependency_test.alias2 core/modules/system/tests/modules/new_dependency_test/new_dependency_test.services.yml Alias of new_dependency_test.alias_dependency
new_dependency_test.alias_dependency core/modules/system/tests/modules/new_dependency_test/new_dependency_test.services.yml Drupal\new_dependency_test\ServiceWithDependency
new_dependency_test.alias_dependency2 core/modules/system/tests/modules/new_dependency_test/new_dependency_test.services.yml Drupal\new_dependency_test\ServiceWithDependency
new_dependency_test.another_service core/modules/system/tests/modules/new_dependency_test/new_dependency_test.services.yml Drupal\new_dependency_test\Service
new_dependency_test.another_service.decorated core/modules/system/tests/modules/new_dependency_test/new_dependency_test.services.yml Drupal\new_dependency_test\Service
new_dependency_test.another_service_two core/modules/system/tests/modules/new_dependency_test/new_dependency_test.services.yml Drupal\new_dependency_test\Service
new_dependency_test.another_service_two.decorated core/modules/system/tests/modules/new_dependency_test/new_dependency_test.services.yml Drupal\new_dependency_test\Service
new_dependency_test.dependent core/modules/system/tests/modules/new_dependency_test/new_dependency_test.services.yml Drupal\new_dependency_test\InjectedService
new_dependency_test.hard_dependency core/modules/system/tests/modules/new_dependency_test/new_dependency_test.services.yml Drupal\new_dependency_test\ServiceWithDependency
new_dependency_test.optional_dependency core/modules/system/tests/modules/new_dependency_test/new_dependency_test.services.yml Drupal\new_dependency_test\ServiceWithDependency
new_dependency_test.recursion core/modules/system/tests/modules/new_dependency_test/new_dependency_test.services.yml Drupal\new_dependency_test\ServiceWithDependency
new_dependency_test.setter_injection core/modules/system/tests/modules/new_dependency_test/new_dependency_test.services.yml Drupal\new_dependency_test\SetterInjection
new_dependency_test_with_service.service core/modules/system/tests/modules/new_dependency_test_with_service/new_dependency_test_with_service.services.yml Drupal\new_dependency_test_with_service\NewService
node.admin_path.route_subscriber core/modules/node/node.services.yml Drupal\node\EventSubscriber\NodeAdminRouteSubscriber
node.grant_storage core/modules/node/node.services.yml Drupal\node\NodeGrantDatabaseStorage backend_overridable
node.node_route_context core/modules/node/node.services.yml Drupal\node\ContextProvider\NodeRouteContext context_provider
node.route_subscriber core/modules/node/node.services.yml Drupal\node\Routing\RouteSubscriber
node.view_all_nodes_memory_cache core/modules/node/node.services.yml Drupal\Core\Cache\MemoryCache\MemoryCache
node_preview core/modules/node/node.services.yml Drupal\node\ParamConverter\NodePreviewConverter paramconverter
options_request_listener core/core.services.yml Drupal\Core\EventSubscriber\OptionsRequestSubscriber
package_manager.direct_write_precondition.directories core/modules/package_manager/package_manager.services.yml Drupal\package_manager\DirectWritePreconditionBypass
package_manager.direct_write_precondition.rsync core/modules/package_manager/package_manager.services.yml Drupal\package_manager\DirectWritePreconditionBypass
package_manager.validator.collect_paths_to_exclude_fail core/modules/package_manager/tests/modules/package_manager_test_validation/package_manager_test_validation.services.yml Drupal\package_manager_test_validation\CollectPathsToExcludeFailValidator event_subscriber
package_manager_test_event_logger.subscriber core/modules/package_manager/tests/modules/package_manager_test_event_logger/package_manager_test_event_logger.services.yml Drupal\package_manager_test_event_logger\EventSubscriber\EventLogSubscriber event_subscriber
package_manager_test_validation.subscriber core/modules/package_manager/tests/modules/package_manager_test_validation/package_manager_test_validation.services.yml Drupal\package_manager_test_validation\EventSubscriber\TestSubscriber event_subscriber
pager.manager core/core.services.yml Drupal\Core\Pager\PagerManager
pager.parameters core/core.services.yml Drupal\Core\Pager\PagerParameters
page_cache_kill_switch core/core.services.yml Drupal\Core\PageCache\ResponsePolicy\KillSwitch page_cache_response_policy, dynamic_page_cache_response_policy
page_cache_no_cache_routes core/core.services.yml Drupal\Core\PageCache\ResponsePolicy\DenyNoCacheRoutes page_cache_response_policy, dynamic_page_cache_response_policy
page_cache_no_server_error core/core.services.yml Drupal\Core\PageCache\ResponsePolicy\NoServerError page_cache_response_policy, dynamic_page_cache_response_policy
page_cache_request_policy core/core.services.yml Drupal\Core\PageCache\DefaultRequestPolicy service_collector
page_cache_response_policy core/core.services.yml Drupal\Core\PageCache\ChainResponsePolicy service_collector
paramconverter.configentity_admin core/core.services.yml Drupal\Core\ParamConverter\AdminPathConfigEntityConverter paramconverter
paramconverter.entity core/core.services.yml Drupal\Core\ParamConverter\EntityConverter paramconverter
paramconverter.entity_revision core/core.services.yml Drupal\Core\ParamConverter\EntityRevisionParamConverter paramconverter
paramconverter.jsonapi.entity_uuid core/modules/jsonapi/jsonapi.services.yml Drupal\jsonapi\ParamConverter\EntityUuidConverter paramconverter
paramconverter.jsonapi.resource_type core/modules/jsonapi/jsonapi.services.yml Drupal\jsonapi\ParamConverter\ResourceTypeConverter paramconverter
paramconverter.menu_link core/core.services.yml Drupal\Core\ParamConverter\MenuLinkPluginConverter paramconverter
paramconverter.views_ui core/modules/views_ui/views_ui.services.yml Drupal\views_ui\ParamConverter\ViewUIConverter paramconverter
paramconverter_manager core/core.services.yml Drupal\Core\ParamConverter\ParamConverterManager
paramconverter_subscriber core/core.services.yml Drupal\Core\EventSubscriber\ParamConverterSubscriber
password core/core.services.yml Drupal\Core\Password\PhpPassword
password core/modules/user/tests/modules/user_custom_pass_hash_params_test/user_custom_pass_hash_params_test.services.yml Drupal\Core\Password\PhpPassword
password_generator core/core.services.yml Drupal\Core\Password\DefaultPasswordGenerator
path.current core/core.services.yml Drupal\Core\Path\CurrentPathStack

Other projects


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