PHP Conference Japan 2024

ReflectionClass::initializeLazyObject

(PHP 8 >= 8.4.0)

ReflectionClass::initializeLazyObjectForces initialization of a lazy object

Descripción

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

Forces initialization of the specified object. This method has no effect if the object is not lazy or has already been initialized. Otherwise, initialization proceeds as described in the Initialization Sequence.

Nota: In most cases, calling this method is unnecessary, as lazy objects initialize themselves automatically when their state is observed or modified.

Parámetros

object
The object to initialize.

Valores devueltos

If object is a lazy proxy, returns its real instance. Otherwise, returns object itself.

Ejemplos

Ejemplo #1 Basic usage

<?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);
?>

El resultado del ejemplo sería:

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

Ver también

add a note

User Contributed Notes

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