diff --git a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php index 17eaeb0cdee7..64c2b41b5fa7 100644 --- a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php +++ b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php @@ -12,6 +12,7 @@ namespace Symfony\Component\DependencyInjection\Dumper; use Composer\Autoload\ClassLoader; +use Symfony\Component\Config\Resource\FileResource; use Symfony\Component\DependencyInjection\Argument\AbstractArgument; use Symfony\Component\DependencyInjection\Argument\ArgumentInterface; use Symfony\Component\DependencyInjection\Argument\IteratorArgument; @@ -555,8 +556,19 @@ private function generateProxyClasses(): array continue; } $alreadyGenerated[$asGhostObject][$class] = true; - // register class' reflector for resource tracking - $this->container->getReflectionClass($class); + + $r = $this->container->getReflectionClass($class); + do { + $file = $r->getFileName(); + if (str_ends_with($file, ') : eval()\'d code')) { + $file = substr($file, 0, strrpos($file, '(', -17)); + } + if (is_file($file)) { + $this->container->addResource(new FileResource($file)); + } + $r = $r->getParentClass() ?: null; + } while ($r?->isUserDefined()); + if ("\n" === $proxyCode = "\n".$proxyDumper->getProxyCode($definition, $id)) { continue; }
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: