Skip to content

Commit e6d99cf

Browse files
committed
deprecate the sensiolabs DI service id and tag prefix
1 parent 2f9ffc9 commit e6d99cf

File tree

7 files changed

+55
-18
lines changed

7 files changed

+55
-18
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ CHANGELOG
88
depend on the `qossmic/rich-model-forms-bundle` package instead.
99
* Deprecated the `SensioLabs` namespace, use the equivalent classes from the `Qossmic` namespace
1010
instead.
11+
* Deprecated all services whose id starts with `sensiolabs.`, use their equivalent ids starting
12+
with `qossmic.` instead.
13+
* Deprecated the `sensiolabs.rich_model_forms.exception_handler` tag, use the `qossmic.rich_model_forms.exception_handler`
14+
tag instead.
1115

1216
0.7.1
1317
-----

phpstan.neon

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ parameters:
77
inferPrivatePropertyTypeFromConstructor: true
88
paths:
99
- src
10+
reportUnmatchedIgnoredErrors: false

src/Qossmic/DependencyInjection/Compiler/RegisterExceptionHandlersPass.php

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,27 @@ class RegisterExceptionHandlersPass implements CompilerPassInterface
2828
{
2929
public function process(ContainerBuilder $container): void
3030
{
31-
if (!$container->hasDefinition('sensiolabs.rich_model_forms.exception_handler.registry')) {
31+
if (!$container->hasDefinition('qossmic.rich_model_forms.exception_handler.registry')) {
3232
return;
3333
}
3434

35-
$exceptionHandlerRegistry = $container->getDefinition('sensiolabs.rich_model_forms.exception_handler.registry');
35+
$exceptionHandlerRegistry = $container->getDefinition('qossmic.rich_model_forms.exception_handler.registry');
3636

3737
$exceptionHandlers = [];
3838
$strategies = [];
3939

40+
foreach ($container->findTaggedServiceIds('qossmic.rich_model_forms.exception_handler') as $id => $tag) {
41+
$class = $container->getParameterBag()->resolveValue($container->getDefinition($id)->getClass());
42+
$exceptionHandlers[$id] = new TypedReference($id, $class);
43+
44+
foreach ($tag as $attributes) {
45+
$strategies[$attributes['strategy']] = $id;
46+
}
47+
}
48+
4049
foreach ($container->findTaggedServiceIds('sensiolabs.rich_model_forms.exception_handler') as $id => $tag) {
50+
trigger_deprecation('sensiolabs-de/rich-model-forms-bundle', '0.8', sprintf('The "sensiolabs.rich_model_forms.exception_handler" tag used by the service with the id "%s" is deprecated. Use the "qossmic.rich_model_forms.exception_handler" tag instead.', $id));
51+
4152
$class = $container->getParameterBag()->resolveValue($container->getDefinition($id)->getClass());
4253
$exceptionHandlers[$id] = new TypedReference($id, $class);
4354

src/Qossmic/DependencyInjection/RichModelFormsExtension.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
namespace Qossmic\RichModelForms\DependencyInjection;
1616

1717
use Symfony\Component\Config\FileLocator;
18+
use Symfony\Component\DependencyInjection\Alias;
19+
use Symfony\Component\DependencyInjection\Compiler\AliasDeprecatedPublicServicesPass;
1820
use Symfony\Component\DependencyInjection\ContainerBuilder;
1921
use Symfony\Component\DependencyInjection\Extension\Extension;
2022
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
@@ -28,5 +30,24 @@ public function load(array $configs, ContainerBuilder $container): void
2830
{
2931
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
3032
$loader->load('services.xml');
33+
34+
foreach ($container->getDefinitions() as $id => $definition) {
35+
if (0 !== strpos($id, 'qossmic.')) {
36+
continue;
37+
}
38+
39+
$aliasId = str_replace('qossmic.', 'sensiolabs.', $id);
40+
$alias = new Alias($id);
41+
42+
if (class_exists(AliasDeprecatedPublicServicesPass::class)) {
43+
/* @phpstan-ignore-next-line */
44+
$alias->setDeprecated('sensiolabs/rich-model-forms-bundle', '0.8', sprintf('The "%%alias_id%% alias is deprecated, use "%s" instead.', $id));
45+
} else {
46+
/* @phpstan-ignore-next-line */
47+
$alias->setDeprecated(true, sprintf('Since sensiolabs/rich-model-forms-bundle 0.8: The "%%alias_id%% alias is deprecated, use "%s" instead.', $id));
48+
}
49+
50+
$container->setAlias($aliasId, $alias);
51+
}
3152
}
3253
}

src/Qossmic/Resources/config/services.xml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,30 @@
66
<services>
77
<defaults public="false" />
88

9-
<service id="sensiolabs.rich_model_forms.type_extension" class="Qossmic\RichModelForms\Extension\RichModelFormsTypeExtension">
9+
<service id="qossmic.rich_model_forms.type_extension" class="Qossmic\RichModelForms\Extension\RichModelFormsTypeExtension">
1010
<argument type="service" id="property_accessor" />
11-
<argument type="service" id="sensiolabs.rich_model_forms.exception_handler.registry" />
12-
<argument type="service" id="sensiolabs.rich_model_forms.form_exception_handler" />
11+
<argument type="service" id="qossmic.rich_model_forms.exception_handler.registry" />
12+
<argument type="service" id="qossmic.rich_model_forms.form_exception_handler" />
1313
<tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\FormType" />
1414
</service>
1515

16-
<service id="sensiolabs.rich_model_forms.form_exception_handler" class="Qossmic\RichModelForms\ExceptionHandling\FormExceptionHandler">
17-
<argument type="service" id="sensiolabs.rich_model_forms.exception_handler.registry" />
16+
<service id="qossmic.rich_model_forms.form_exception_handler" class="Qossmic\RichModelForms\ExceptionHandling\FormExceptionHandler">
17+
<argument type="service" id="qossmic.rich_model_forms.exception_handler.registry" />
1818
<argument type="service" id="translator" on-invalid="ignore" />
1919
<argument type="string">%validator.translation_domain%</argument>
2020
</service>
2121

22-
<service id="sensiolabs.rich_model_forms.exception_handler.registry" class="Qossmic\RichModelForms\ExceptionHandling\ExceptionHandlerRegistry">
22+
<service id="qossmic.rich_model_forms.exception_handler.registry" class="Qossmic\RichModelForms\ExceptionHandling\ExceptionHandlerRegistry">
2323
<argument>null</argument> <!-- service locator will be injected during compilation -->
2424
<argument type="collection" /> <!-- exception handling strategies, will be injected during compilation -->
2525
</service>
2626

27-
<service id="sensiolabs.rich_model_forms.exception_handler.strategy.argument_type_mismatch" class="Qossmic\RichModelForms\ExceptionHandling\ArgumentTypeMismatchExceptionHandler">
28-
<tag name="sensiolabs.rich_model_forms.exception_handler" strategy="type_error" />
27+
<service id="qossmic.rich_model_forms.exception_handler.strategy.argument_type_mismatch" class="Qossmic\RichModelForms\ExceptionHandling\ArgumentTypeMismatchExceptionHandler">
28+
<tag name="qossmic.rich_model_forms.exception_handler" strategy="type_error" />
2929
</service>
3030

31-
<service id="sensiolabs.rich_model_forms.exception_handler.strategy.fallback" class="Qossmic\RichModelForms\ExceptionHandling\FallbackExceptionHandler">
32-
<tag name="sensiolabs.rich_model_forms.exception_handler" strategy="fallback" />
31+
<service id="qossmic.rich_model_forms.exception_handler.strategy.fallback" class="Qossmic\RichModelForms\ExceptionHandling\FallbackExceptionHandler">
32+
<tag name="qossmic.rich_model_forms.exception_handler" strategy="fallback" />
3333
</service>
3434
</services>
3535
</container>

tests/Fixtures/DependencyInjection/PublicTestAliasPass.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ public function process(ContainerBuilder $container): void
2525
$testAliases = [];
2626

2727
foreach ($container->getDefinitions() as $id => $definition) {
28-
if (0 === strpos($id, 'sensiolabs.rich_model_forms.')) {
28+
if (0 === strpos($id, 'qossmic.rich_model_forms.')) {
2929
$container->setAlias('test.'.$id, new Alias($id, true));
3030
$testAliases['test.'.$id] = $definition->getClass();
3131
}
3232
}
3333

34-
$container->setParameter('sensiolabs.rich_model_forms.test_service_aliases', $testAliases);
34+
$container->setParameter('qossmic.rich_model_forms.test_service_aliases', $testAliases);
3535
}
3636
}

tests/Integration/ServiceContainerTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,23 +25,23 @@ public function testServicesCanBeBuilt(): void
2525
{
2626
$container = $this->bootKernel()->getContainer();
2727

28-
foreach ($container->getParameter('sensiolabs.rich_model_forms.test_service_aliases') as $id => $type) {
28+
foreach ($container->getParameter('qossmic.rich_model_forms.test_service_aliases') as $id => $type) {
2929
$this->assertInstanceOf($type, $container->get($id));
3030
}
3131
}
3232

3333
public function testArgumentTypeMismatchExceptionHandlingStrategyIsRegistered(): void
3434
{
3535
$container = $this->bootKernel()->getContainer();
36-
$exceptionHandlerRegistry = $container->get('test.sensiolabs.rich_model_forms.exception_handler.registry');
36+
$exceptionHandlerRegistry = $container->get('test.qossmic.rich_model_forms.exception_handler.registry');
3737

3838
$this->assertInstanceOf(ArgumentTypeMismatchExceptionHandler::class, $exceptionHandlerRegistry->get('type_error'));
3939
}
4040

4141
public function testFallbackExceptionHandlingStrategyIsRegistered(): void
4242
{
4343
$container = $this->bootKernel()->getContainer();
44-
$exceptionHandlerRegistry = $container->get('test.sensiolabs.rich_model_forms.exception_handler.registry');
44+
$exceptionHandlerRegistry = $container->get('test.qossmic.rich_model_forms.exception_handler.registry');
4545

4646
$this->assertInstanceOf(FallbackExceptionHandler::class, $exceptionHandlerRegistry->get('fallback'));
4747
}
@@ -51,7 +51,7 @@ public function testExceptionIsThrownIfExceptionHandlingStrategyIsNotKnown(): vo
5151
$this->expectException(\InvalidArgumentException::class);
5252

5353
$container = $this->bootKernel()->getContainer();
54-
$exceptionHandlerRegistry = $container->get('test.sensiolabs.rich_model_forms.exception_handler.registry');
54+
$exceptionHandlerRegistry = $container->get('test.qossmic.rich_model_forms.exception_handler.registry');
5555

5656
$exceptionHandlerRegistry->get('unknown');
5757
}

0 commit comments

Comments
 (0)