From 2b00063d967ca1d4de7fc53559396baf78f9657d Mon Sep 17 00:00:00 2001 From: Nikita Malyshev Date: Fri, 17 Jan 2025 05:02:20 +0500 Subject: [PATCH] Add support for shorthand service definition syntax (#817) * Allow interfaces to also be used as a 'class' in service definitions * Handle shorthand syntax for service definition --- src/Drupal/DrupalAutoloader.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Drupal/DrupalAutoloader.php b/src/Drupal/DrupalAutoloader.php index 760ca492..8b707c85 100644 --- a/src/Drupal/DrupalAutoloader.php +++ b/src/Drupal/DrupalAutoloader.php @@ -226,6 +226,16 @@ public function register(Container $container): void } }); } + // Handle shorthand syntax for service definition: + // @code + // Drupal\foo\FooService: {} + // Drupal\foo\BarService: + // tags: + // - { name: foo_bar } + // @endcode + if (!isset($serviceDefinition['class']) && class_exists($serviceId)) { + $serviceDefinition['class'] = $serviceId; + } // @todo sanitize "calls" and "configurator" and "factory" /** jsonapi.params.enhancer: