(PHP 8 >= 8.4.0)
ReflectionClass::newLazyProxy — Cria uma nova instância de proxy lento
   Cria uma nova instância de proxy lento da classe, anexando a
   função factory a ela. O construtor não é
   chamado e as propriedades não são definidas com seus valores padrão. Quando é
   feita uma tentativa de observar ou modificar o estado do proxy pela primeira
   vez, a função de fábrica é chamada para fornecer uma instância real, que
   é então anexada ao proxy. Depois disso, todas as interações subsequentes
   com o proxy são encaminhadas para a instância real. Consulte
   Gatilhos de
   Inicialização e Sequência
   de Inicialização .
  
factory
objectobject informa o objeto que está
          sendo inicializado. Neste ponto, o objeto não está mais marcado como
          lento e acessá-lo não aciona a inicialização novamente.
         
        options
      options pode ser uma combinação das seguintes
      opções:
      
ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE
        Retorna uma instância de proxy lento. Se o objeto não tiver propriedades, ou se todas as suas propriedades forem estáticas ou virtuais, uma instância normal (não-lenta) será retornada. Veja também Ciclo de Vida de Objetos Lentos.
Exemplo #1 Uso básico
<?php
class Example {
    public function __construct(public int $prop) {
        echo __METHOD__, "\n";
    }
}
$reflector = new ReflectionClass(Example::class);
$object = $reflector->newLazyProxy(function (Example $object) {
     $realInstance = new Example(1);
     return $realInstance;
});
var_dump($object);
var_dump($object instanceof Example);
// Aciona a inicialização e encaminha a busca de propriedade para a instância real
var_dump($object->prop);
var_dump($object);
?>O exemplo acima produzirá:
lazy proxy object(Example)#3 (0) {
  ["prop"]=>
  uninitialized(int)
}
bool(true)
Example::__construct
int(1)
lazy proxy object(Example)#3 (1) {
  ["instance"]=>
  object(Example)#4 (1) {
    ["prop"]=>
    int(1)
  }
}
