From 647d971ae4df87a1c1b1dba86ca1cb8f6af9c905 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Wed, 8 Apr 2020 16:36:57 +0200 Subject: [PATCH] [DI] deprecate the `inline()` function from the PHP-DSL in favor of `service()` --- UPGRADE-5.1.md | 1 + UPGRADE-6.0.md | 1 + .../Component/DependencyInjection/CHANGELOG.md | 1 + .../Loader/Configurator/ContainerConfigurator.php | 12 ++++++++++++ .../Configurator/InlineServiceConfigurator.php | 2 +- .../Tests/Fixtures/config/basic.php | 2 +- .../Tests/Fixtures/config/object.php | 2 +- 7 files changed, 18 insertions(+), 3 deletions(-) diff --git a/UPGRADE-5.1.md b/UPGRADE-5.1.md index 64dba4d81e73..3395fb5678ef 100644 --- a/UPGRADE-5.1.md +++ b/UPGRADE-5.1.md @@ -24,6 +24,7 @@ DependencyInjection configure them explicitly instead. * Deprecated `Definition::getDeprecationMessage()`, use `Definition::getDeprecation()` instead. * Deprecated `Alias::getDeprecationMessage()`, use `Alias::getDeprecation()` instead. + * The `inline()` function from the PHP-DSL has been deprecated, use `service()` instead Dotenv ------ diff --git a/UPGRADE-6.0.md b/UPGRADE-6.0.md index 9dedb88b0839..01f6fd86bd8a 100644 --- a/UPGRADE-6.0.md +++ b/UPGRADE-6.0.md @@ -24,6 +24,7 @@ DependencyInjection configure them explicitly instead. * Removed `Definition::getDeprecationMessage()`, use `Definition::getDeprecation()` instead. * Removed `Alias::getDeprecationMessage()`, use `Alias::getDeprecation()` instead. + * The `inline()` function from the PHP-DSL has been removed, use `service()` instead Dotenv ------ diff --git a/src/Symfony/Component/DependencyInjection/CHANGELOG.md b/src/Symfony/Component/DependencyInjection/CHANGELOG.md index 14c4104d89b9..ea53705746dd 100644 --- a/src/Symfony/Component/DependencyInjection/CHANGELOG.md +++ b/src/Symfony/Component/DependencyInjection/CHANGELOG.md @@ -16,6 +16,7 @@ CHANGELOG * added tags `container.preload`/`.no_preload` to declare extra classes to preload/services to not preload * deprecated `Definition::getDeprecationMessage()`, use `Definition::getDeprecation()` instead * deprecated `Alias::getDeprecationMessage()`, use `Alias::getDeprecation()` instead + * deprecated PHP-DSL's `inline()` function, use `service()` instead 5.0.0 ----- diff --git a/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php b/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php index 66aadc1cf417..ebec140a9337 100644 --- a/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php +++ b/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php @@ -92,8 +92,20 @@ function ref(string $id): ReferenceConfigurator /** * Creates an inline service. + * + * @deprecated since Symfony 5.1, use service() instead. */ function inline(string $class = null): InlineServiceConfigurator +{ + trigger_deprecation('symfony/dependency-injection', '5.1', '"%s()" is deprecated, use "service()" instead.', __FUNCTION__); + + return new InlineServiceConfigurator(new Definition($class)); +} + +/** + * Creates an inline service. + */ +function service(string $class = null): InlineServiceConfigurator { return new InlineServiceConfigurator(new Definition($class)); } diff --git a/src/Symfony/Component/DependencyInjection/Loader/Configurator/InlineServiceConfigurator.php b/src/Symfony/Component/DependencyInjection/Loader/Configurator/InlineServiceConfigurator.php index 9802de884a20..c6213967216b 100644 --- a/src/Symfony/Component/DependencyInjection/Loader/Configurator/InlineServiceConfigurator.php +++ b/src/Symfony/Component/DependencyInjection/Loader/Configurator/InlineServiceConfigurator.php @@ -18,7 +18,7 @@ */ class InlineServiceConfigurator extends AbstractConfigurator { - const FACTORY = 'inline'; + const FACTORY = 'service'; use Traits\ArgumentTrait; use Traits\AutowireTrait; diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/basic.php b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/basic.php index a9e250b9213a..bd366e50408a 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/basic.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/basic.php @@ -7,5 +7,5 @@ return function (ContainerConfigurator $c) { $s = $c->services(); $s->set(BarService::class) - ->args([inline('FooClass')]); + ->args([service('FooClass')]); }; diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/object.php b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/object.php index daf4682bf7ef..9681de22e470 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/object.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/object.php @@ -9,6 +9,6 @@ public function __invoke(ContainerConfigurator $c) { $s = $c->services(); $s->set(BarService::class) - ->args([inline('FooClass')]); + ->args([service('FooClass')]); } };