From d9928fbf5cc24750c50748adf63e9c27348d26fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Cobucci?= Date: Sun, 10 Nov 2024 21:39:23 +0100 Subject: [PATCH] Remove `null` from builder class name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This uses the `::class` syntax to avoid unnecessary usage of `null` values. Signed-off-by: Luís Cobucci --- src/ContainerBuilder.php | 16 ++++++++-------- src/Generator.php | 11 ++++------- test/ContainerBuilderTest.php | 3 ++- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/ContainerBuilder.php b/src/ContainerBuilder.php index c3ac77cf..7c72672c 100644 --- a/src/ContainerBuilder.php +++ b/src/ContainerBuilder.php @@ -38,11 +38,11 @@ public static function default(string $configurationFile, string $namespace): se return self::xml($configurationFile, $namespace); } - /** @param class-string|null $builderClass */ + /** @param class-string $builderClass */ public static function xml( string $configurationFile, string $namespace, - ?string $builderClass = null, + string $builderClass = SymfonyBuilder::class, ): self { return new self( new ContainerConfiguration($namespace), @@ -51,11 +51,11 @@ public static function xml( ); } - /** @param class-string|null $builderClass */ + /** @param class-string $builderClass */ public static function php( string $configurationFile, string $namespace, - ?string $builderClass = null, + string $builderClass = SymfonyBuilder::class, ): self { return new self( new ContainerConfiguration($namespace), @@ -64,11 +64,11 @@ public static function php( ); } - /** @param class-string|null $builderClass */ + /** @param class-string $builderClass */ public static function yaml( string $configurationFile, string $namespace, - ?string $builderClass = null, + string $builderClass = SymfonyBuilder::class, ): self { return new self( new ContainerConfiguration($namespace), @@ -77,11 +77,11 @@ public static function yaml( ); } - /** @param class-string|null $builderClass */ + /** @param class-string $builderClass */ public static function delegating( string $configurationFile, string $namespace, - ?string $builderClass = null, + string $builderClass = SymfonyBuilder::class, ): self { return new self( new ContainerConfiguration($namespace), diff --git a/src/Generator.php b/src/Generator.php index be728d4c..48435e60 100644 --- a/src/Generator.php +++ b/src/Generator.php @@ -16,16 +16,13 @@ abstract class Generator { private Compiler $compiler; - /** @var class-string */ - private string $builderClass; - /** @param class-string|null $builderClass */ + /** @param class-string $builderClass */ public function __construct( - private string $configurationFile, - ?string $builderClass = null, + private readonly string $configurationFile, + private readonly string $builderClass = SymfonyBuilder::class, ) { - $this->compiler = new Compiler(); - $this->builderClass = $builderClass ?? SymfonyBuilder::class; + $this->compiler = new Compiler(); } /** diff --git a/test/ContainerBuilderTest.php b/test/ContainerBuilderTest.php index 642abc3f..2479b83f 100644 --- a/test/ContainerBuilderTest.php +++ b/test/ContainerBuilderTest.php @@ -14,6 +14,7 @@ use Symfony\Component\Config\ConfigCache; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\Compiler\PassConfig; +use Symfony\Component\DependencyInjection\ContainerBuilder as SymfonyBuilder; use Symfony\Component\DependencyInjection\ContainerInterface; use function get_class; @@ -43,7 +44,7 @@ public function configureDependencies(): void public function namedConstructorsShouldSimplifyTheObjectCreation( string $method, Generator $generator, - ?string $builderClass = null, + string $builderClass = SymfonyBuilder::class, ): void { $expected = new ContainerBuilder( new ContainerConfiguration('Lcobucci\\DependencyInjection'),