class RuntimeInstantiator implements InstantiatorInterface
{ private Configuration
$config;
private ProxyGenerator
$generator;
public function __construct() { $this->config =
new Configuration();
$this->config->
setGeneratorStrategy(new EvaluatingGeneratorStrategy());
$this->generator =
new ProxyGenerator();
} public function instantiateProxy(ContainerInterface
$container, Definition
$definition, string
$id, callable
$realInstantiator): object
{ $proxifiedClass =
new \
ReflectionClass($this->generator->
getProxifiedClass($definition));
$factory =
new class($this->config,
$this->generator
) extends LazyLoadingValueHolderFactory
{ use LazyLoadingFactoryTrait;
};
$initializer =
static function D&
$wrappedInstance, LazyLoadingInterface
$proxy) use ($realInstantiator) {