Skip to content

Commit 0ec1862

Browse files
committed
GenerateFactory - allow setting the result type in attribute, override create method return type
1 parent b845b02 commit 0ec1862

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

src/DependencyInjection/AutowiredAttributeServicesExtension.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ public function loadConfiguration(): void
8484
$definition = $builder->addFactoryDefinition(null)
8585
->setImplement($attribute->interface);
8686

87+
if ($attribute->resultType !== null) {
88+
$definition->getResultDefinition()->setType($attribute->resultType);
89+
}
90+
8791
$resultDefinition = $definition->getResultDefinition();
8892
$this->processParameters($class->name, $resultDefinition, $autowiredParameters);
8993
}

src/DependencyInjection/GenerateFactory.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ final class GenerateFactory
2222

2323
/**
2424
* @param class-string $interface
25+
* @param class-string $resultType
2526
*/
26-
public function __construct(public string $interface)
27+
public function __construct(public string $interface, public ?string $resultType = null)
2728
{
2829
}
2930

0 commit comments

Comments
 (0)