Skip to content

Commit 74da071

Browse files
committed
Hidden services
1 parent 1179dc5 commit 74da071

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

src/Symfony/Service.php

+11-1
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,24 @@ final class Service
2020
/** @var string|null */
2121
private $alias;
2222

23+
/** @var bool */
24+
private $hidden;
25+
2326
public function __construct(
2427
string $id,
2528
?string $class,
2629
bool $public,
2730
bool $synthetic,
28-
?string $alias
31+
?string $alias,
32+
bool $hidden
2933
)
3034
{
3135
$this->id = $id;
3236
$this->class = $class;
3337
$this->public = $public;
3438
$this->synthetic = $synthetic;
3539
$this->alias = $alias;
40+
$this->hidden = $hidden;
3641
}
3742

3843
public function getId(): string
@@ -60,4 +65,9 @@ public function getAlias(): ?string
6065
return $this->alias;
6166
}
6267

68+
public function isHidden(): bool
69+
{
70+
return $this->hidden;
71+
}
72+
6373
}

src/Symfony/ServiceMap.php

+5-3
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,12 @@ public function __construct(string $containerXml)
2727
continue;
2828
}
2929
$service = new Service(
30-
(string) $attrs->id,
30+
strpos((string) $attrs->id, '.') === 0 ? substr((string) $attrs->id, 1) : (string) $attrs->id,
3131
isset($attrs->class) ? (string) $attrs->class : null,
3232
!isset($attrs->public) || (string) $attrs->public !== 'false',
3333
isset($attrs->synthetic) && (string) $attrs->synthetic === 'true',
34-
isset($attrs->alias) ? (string) $attrs->alias : null
34+
isset($attrs->alias) ? (string) $attrs->alias : null,
35+
strpos((string) $attrs->id, '.') === 0
3536
);
3637
if ($service->getAlias() !== null) {
3738
$aliases[] = $service;
@@ -48,7 +49,8 @@ public function __construct(string $containerXml)
4849
$this->services[$service->getAlias()]->getClass(),
4950
$service->isPublic(),
5051
$service->isSynthetic(),
51-
null
52+
$service->getAlias(),
53+
$service->isHidden()
5254
);
5355
}
5456
}

tests/Symfony/ServiceTest.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@ final class ServiceTest extends TestCase
99

1010
public function testGetSet(): void
1111
{
12-
$service = new Service('foo', 'Bar', true, true, 'alias');
12+
$service = new Service('foo', 'Bar', true, true, 'alias', true);
1313
self::assertSame('foo', $service->getId());
1414
self::assertSame('Bar', $service->getClass());
1515
self::assertTrue($service->isPublic());
1616
self::assertTrue($service->isSynthetic());
1717
self::assertSame('alias', $service->getAlias());
18+
self::assertTrue($service->isHidden());
1819
}
1920

2021
}

0 commit comments

Comments
 (0)