function PhpDumper::getClasses
4 calls to PhpDumper::getClasses()
- PhpDumper::addInlineRequires in vendor/
symfony/ dependency-injection/ Dumper/ PhpDumper.php - PhpDumper::addService in vendor/
symfony/ dependency-injection/ Dumper/ PhpDumper.php - PhpDumper::addServiceInclude in vendor/
symfony/ dependency-injection/ Dumper/ PhpDumper.php - PhpDumper::addServices in vendor/
symfony/ dependency-injection/ Dumper/ PhpDumper.php
File
-
vendor/
symfony/ dependency-injection/ Dumper/ PhpDumper.php, line 2305
Class
- PhpDumper
- PhpDumper dumps a service container as a PHP class.
Namespace
Symfony\Component\DependencyInjection\DumperCode
private function getClasses(Definition $definition, string $id) : array {
$classes = [];
$resolve = $this->container
->getParameterBag()
->resolveValue(...);
while ($definition instanceof Definition) {
foreach ($definition->getTag($this->preloadTags[0]) as $tag) {
if (!isset($tag['class'])) {
throw new InvalidArgumentException(\sprintf('Missing attribute "class" on tag "%s" for service "%s".', $this->preloadTags[0], $id));
}
$classes[] = trim($tag['class'], '\\');
}
if ($class = $definition->getClass()) {
$classes[] = trim($resolve($class), '\\');
}
$factory = $definition->getFactory();
if (!\is_array($factory)) {
$factory = [
$factory,
];
}
if (\is_string($factory[0])) {
$factory[0] = $resolve($factory[0]);
if (false !== ($i = strrpos($factory[0], '::'))) {
$factory[0] = substr($factory[0], 0, $i);
}
$classes[] = trim($factory[0], '\\');
}
$definition = $factory[0];
}
return $classes;
}