Skip to content

Commit d66a20f

Browse files
authored
Merge pull request #224 from mglaman/service-alias-shortcut
Handle shortcut service aliasing
2 parents cf50248 + a2662e0 commit d66a20f

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/Drupal/DrupalAutoloader.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,13 @@ public function register(Container $container): void
161161
continue;
162162
}
163163
foreach ($yaml['services'] as $serviceId => $serviceDefinition) {
164+
// Check if this is an alias shortcut.
165+
// @link https://symfony.com/doc/4.4/service_container/alias_private.html#aliasing
166+
if (is_string($serviceDefinition)) {
167+
$serviceDefinition = [
168+
'alias' => str_replace('@', '', $serviceDefinition),
169+
];
170+
}
164171
// Prevent \Nette\DI\ContainerBuilder::completeStatement from array_walk_recursive into the arguments
165172
// and thinking these are real services for PHPStan's container.
166173
if (isset($serviceDefinition['arguments']) && is_array($serviceDefinition['arguments'])) {
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
services:
22
service_map.my_service:
33
class: Drupal\service_map\MyService
4+
GuzzleHttp\Client: '@http_client'
5+
Drupal\Core\Config\ConfigFactoryInterface: '@config.factory'
6+
Drupal\Core\Messenger\MessengerInterface: '@messenger'
7+
Drupal\Core\Logger\LoggerChannelFactory: '@logger.factory'
8+
Drupal\Core\Logger\LoggerChannelFactoryInterface: '@logger.factory'

0 commit comments

Comments
 (0)