We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 44cbf88 commit b09ac2fCopy full SHA for b09ac2f
1 file changed
src/DI/ContainerBase.php
@@ -193,10 +193,24 @@ public function getService(string $name): object
193
}
194
else if ($parameter_type !== null && (class_exists($parameter_type) || interface_exists($parameter_type)))
195
{
196
- /**
197
- * @var class-string<object> $parameter_type
198
- */
199
- $parameters[] = $this->getByClass($parameter_type);
+ try
+ {
+ /**
+ * @var class-string<object> $parameter_type
200
+ */
201
+ $parameters[] = $this->getByClass($parameter_type);
202
+ }
203
+ catch (MissingServiceException $e)
204
205
+ if (isset($service['factory_method']))
206
207
+ $parameters[] = null;
208
209
+ else
210
211
+ throw $e;
212
213
214
215
else
216
0 commit comments