PHP Conference Nagoya 2025

ReflectionClass::resetAsLazyProxy

(PHP 8 >= 8.4.0)

ReflectionClass::resetAsLazyProxyRéinitialise un objet et le marque comme paresseux

Description

public ReflectionClass::resetAsLazyProxy(object $object, callable $factory, int $options = 0): void

Le comportement de cette méthode est le même que ReflectionClass::resetAsLazyGhost() sauf qu'elle utilise la stratégie de proxy.

L'object lui-même devient le proxy. De manière similaire à ReflectionClass::resetAsLazyGhost(), l'objet n'est pas remplacé par un autre, et son identité ne change pas, même après l'initialisation. Le proxy et l'instance réelle sont des objets distincts, avec des identités distinctes.

Liste de paramètres

object
Un objet non-paresseux, ou un objet paresseux initialisé.
factory
Une fonction de rappel avec la même signature et le même but que dans ReflectionClass::newLazyProxy().
options

options peut être une combinaison des drapeaux suivants :

ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE
Par défaut, la sérialisation d'un objet paresseux déclenche son initialisation. Définir ce drapeau empêche l'initialisation, permettant aux objets paresseux d'être sérialisés sans être initialisés.
ReflectionClass::SKIP_DESTRUCTOR
Par défaut, le destructeur de l'objet est appelé (s'il existe) avant de le marquer comme paresseux. Ce drapeau désactive ce comportement, permettant aux objets d'être réinitialisés comme paresseux sans appeler le destructeur.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Une ReflectionException si l'objet est paresseux et non initialisé.

Une Error si l'objet est en cours d'initialisation, ou si les propriétés de l'objet sont itérées avec foreach.

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top