function PhpDumper::isTrivialInstance
4 calls to PhpDumper::isTrivialInstance()
- PhpDumper::addServiceInclude in vendor/
symfony/ dependency-injection/ Dumper/ PhpDumper.php - PhpDumper::addServices in vendor/
symfony/ dependency-injection/ Dumper/ PhpDumper.php - PhpDumper::generateServiceFiles in vendor/
symfony/ dependency-injection/ Dumper/ PhpDumper.php - PhpDumper::getServiceCall in vendor/
symfony/ dependency-injection/ Dumper/ PhpDumper.php
File
-
vendor/
symfony/ dependency-injection/ Dumper/ PhpDumper.php, line 711
Class
- PhpDumper
- PhpDumper dumps a service container as a PHP class.
Namespace
Symfony\Component\DependencyInjection\DumperCode
private function isTrivialInstance(Definition $definition) : bool {
if ($definition->hasErrors()) {
return true;
}
if ($definition->isSynthetic() || $definition->getFile() || $definition->getMethodCalls() || $definition->getProperties() || $definition->getConfigurator()) {
return false;
}
if ($definition->isDeprecated() || $definition->isLazy() || $definition->getFactory() || 3 < \count($definition->getArguments())) {
return false;
}
foreach ($definition->getArguments() as $arg) {
if (!$arg || $arg instanceof Parameter) {
continue;
}
if (\is_array($arg) && 3 >= \count($arg)) {
foreach ($arg as $k => $v) {
if ($this->dumpValue($k) !== $this->dumpValue($k, false)) {
return false;
}
if (!$v || $v instanceof Parameter) {
continue;
}
if ($v instanceof Reference && $this->container
->has($id = (string) $v) && $this->container
->findDefinition($id)
->isSynthetic()) {
continue;
}
if (!\is_scalar($v) || $this->dumpValue($v) !== $this->dumpValue($v, false)) {
return false;
}
}
}
elseif ($arg instanceof Reference && $this->container
->has($id = (string) $arg) && $this->container
->findDefinition($id)
->isSynthetic()) {
continue;
}
elseif (!\is_scalar($arg) || $this->dumpValue($arg) !== $this->dumpValue($arg, false)) {
return false;
}
}
return true;
}