Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 56b244a

Browse files
[DI] fix perf issue with lazy autowire error messages
1 parent 1fc080b commit 56b244a

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -375,14 +375,20 @@ private function set(string $type, string $id)
375375

376376
private function createTypeNotFoundMessageCallback(TypedReference $reference, $label)
377377
{
378-
$container = new ContainerBuilder($this->container->getParameterBag());
379-
$container->setAliases($this->container->getAliases());
380-
$container->setDefinitions($this->container->getDefinitions());
381-
$container->setResourceTracking(false);
382-
$currentId = $this->currentId;
383-
384-
return function () use ($container, $reference, $label, $currentId) {
385-
return $this->createTypeNotFoundMessage($container, $reference, $label, $currentId);
378+
$state = [
379+
$this->container->getParameterBag(),
380+
$this->container->getAliases(),
381+
$this->container->getDefinitions(),
382+
$this->currentId,
383+
];
384+
385+
return function () use ($reference, $label, $state) {
386+
$container = new ContainerBuilder($state[0]);
387+
$container->setAliases($state[1]);
388+
$container->setDefinitions($state[2]);
389+
$container->setResourceTracking(false);
390+
391+
return $this->createTypeNotFoundMessage($container, $reference, $label, $state[3]);
386392
};
387393
}
388394

0 commit comments

Comments
 (0)