function ContainerBuilder::addObjectResource
Adds the object class hierarchy as resources.
Parameters
object|string $object An object instance or class name:
Return value
$this
2 calls to ContainerBuilder::addObjectResource()
- ContainerBuilder::addCompilerPass in vendor/
symfony/ dependency-injection/ ContainerBuilder.php - Adds a compiler pass.
- ContainerBuilder::compile in vendor/
symfony/ dependency-injection/ ContainerBuilder.php - Compiles the container.
File
-
vendor/
symfony/ dependency-injection/ ContainerBuilder.php, line 345
Class
- ContainerBuilder
- ContainerBuilder is a DI container that provides an API to easily describe services.
Namespace
Symfony\Component\DependencyInjectionCode
public function addObjectResource(object|string $object) : static {
if ($this->trackResources) {
if (\is_object($object)) {
$object = $object::class;
}
if (!isset($this->classReflectors[$object])) {
$this->classReflectors[$object] = new \ReflectionClass($object);
}
$class = $this->classReflectors[$object];
foreach ($class->getInterfaceNames() as $name) {
if (null === ($interface =& $this->classReflectors[$name])) {
$interface = new \ReflectionClass($name);
}
$file = $interface->getFileName();
if (false !== $file && file_exists($file)) {
$this->fileExists($file);
}
}
do {
$file = $class->getFileName();
if (false !== $file && file_exists($file)) {
$this->fileExists($file);
}
foreach ($class->getTraitNames() as $name) {
$this->addObjectResource($name);
}
} while ($class = $class->getParentClass());
}
return $this;
}