Skip to content

Commit b09ac2f

Browse files
authored
Update ContainerBase.php
1 parent 44cbf88 commit b09ac2f

1 file changed

Lines changed: 18 additions & 4 deletions

File tree

src/DI/ContainerBase.php

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,24 @@ public function getService(string $name): object
193193
}
194194
else if ($parameter_type !== null && (class_exists($parameter_type) || interface_exists($parameter_type)))
195195
{
196-
/**
197-
* @var class-string<object> $parameter_type
198-
*/
199-
$parameters[] = $this->getByClass($parameter_type);
196+
try
197+
{
198+
/**
199+
* @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+
}
200214
}
201215
else
202216
{

0 commit comments

Comments
 (0)