(PHP 8 >= 8.4.0)
ReflectionClass::newLazyProxy — Créer une nouvelle instance proxy paresseuse
   Créer une nouvelle instance proxy paresseuse de la classe, en attachant la
   factory à celle-ci. Le constructeur n'est pas
   appelé, et les propriétés ne sont pas définies à leur valeur par défaut. Lorsqu'une
   tentative est faite d'observer ou de modifier l'état du proxy pour la première
   fois, la fonction fabrique est appelée pour fournir une instance réelle, qui
   est ensuite attachée au proxy. Après cela, toutes les interactions ultérieures
   avec le proxy sont transmises à l'instance réelle. Voir
   déclencheurs
   d'initialisation et 
   séquence d'initialisation.
  
factory
objectobject en cours d'initialisation. À ce point,
          l'objet n'est plus marqué comme paresseux, et y accéder ne déclenche
          plus l'initialisation.
         
        options
      options peut être une combinaison des drapeaux
      suivants:
      
ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE
        Renvoie une instance proxy paresseuse. Si l'objet n'a pas de propriétés, ou si toutes ses propriétés sont statiques ou virtuelles, une instance normale (non paresseuse) est renvoyée. Voir aussi Cycle de vie des objets paresseux.
Une ReflectionException si la classe est interne ou étends une classe interne, sauf stdClass.
Exemple #1 Utilisation basique
<?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);
// Déclenche l'initialisation, et transmet la récupération de la propriété à l'instance réelle  
var_dump($object->prop);
var_dump($object);
?>L'exemple ci-dessus va afficher :
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)
  }
}
