Moodle PHP Documentation 4.4
Moodle 4.4.9+ (Build: 20250706) (82fb415b695)
DI\Definition\Resolver\ObjectCreator Class Reference
Inheritance diagram for DI\Definition\Resolver\ObjectCreator:
DI\Definition\Resolver\DefinitionResolver DI\Definition\Resolver\InstanceInjector

Public Member Functions

 __construct (private DefinitionResolver $definitionResolver, private ProxyFactory $proxyFactory)
 
 isResolvable (Definition $definition, array $parameters=[])
 The definition is not resolvable if the class is not instantiable (interface or abstract) or if the class doesn't exist.
 
 resolve (Definition $definition, array $parameters=[])
 Resolve a class definition to a value.
 

Static Public Member Functions

static setPrivatePropertyValue (?string $className, $object, string $propertyName, mixed $propertyValue)
 

Protected Member Functions

 injectMethodsAndProperties (object $object, ObjectDefinition $objectDefinition)
 

Constructor & Destructor Documentation

◆ __construct()

DI\Definition\Resolver\ObjectCreator::__construct ( private DefinitionResolver $definitionResolver,
private ProxyFactory $proxyFactory )
Parameters
DefinitionResolver$definitionResolverUsed to resolve nested definitions.
ProxyFactory$proxyFactoryUsed to create proxies for lazy injections.

Member Function Documentation

◆ isResolvable()

DI\Definition\Resolver\ObjectCreator::isResolvable ( Definition $definition,
array $parameters = [] )

The definition is not resolvable if the class is not instantiable (interface or abstract) or if the class doesn't exist.

Parameters
ObjectDefinition$definition

Implements DI\Definition\Resolver\DefinitionResolver.

Reimplemented in DI\Definition\Resolver\InstanceInjector.

◆ resolve()

DI\Definition\Resolver\ObjectCreator::resolve ( Definition $definition,
array $parameters = [] )

Resolve a class definition to a value.

This will create a new instance of the class using the injections points defined.

Parameters
ObjectDefinition$definition

Implements DI\Definition\Resolver\DefinitionResolver.

Reimplemented in DI\Definition\Resolver\InstanceInjector.


The documentation for this class was generated from the following file: