PHP Conference Nagoya 2025

ReflectionClass::initializeLazyObject

(PHP 8 >= 8.4.0)

ReflectionClass::initializeLazyObjectForce l'initialisation d'un objet paresseux

Description

public ReflectionClass::initializeLazyObject(object $object): object

Force l'initialisation de l'object spécifié. Cette méthode n'a aucun effet si l'objet n'est pas paresseux ou a déjà été initialisé. Sinon, l'initialisation se déroule comme décrit dans la Séquence d'initialisation.

Note: Dans la plupart des cas, appeler cette méthode est inutile, car les objets paresseux s'initialisent automatiquement lorsqu'ils sont observés ou modifiés.

Liste de paramètres

object
L'objet à initialiser.

Valeurs de retour

Si object est un proxy paresseux, renvoie son instance réelle. Sinon, renvoie object lui-même.

Exemples

Exemple #1 Utilisation basique

<?php
class Example
{
public function
__construct(public int $prop) {
}
}

$reflector = new ReflectionClass(Example::class);

$object = $reflector->newLazyGhost(function ($object) {
echo
"Initializer called\n";
$object->__construct(1);
});

var_dump($object);

$reflector->initializeLazyObject($object);

var_dump($object);
?>

L'exemple ci-dessus va afficher :

lazy ghost object(Example)#3 (0) {
  ["prop"]=>
  uninitialized(int)
}
Initializer called
object(Example)#3 (1) {
  ["prop"]=>
  int(1)
}

Voir aussi

add a note

User Contributed Notes

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