ReflectionClass::initializeLazyObject

Forces initialization of a lazy object

&reftitle.description; public `object` `ReflectionClass::initializeLazyObject` `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.

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

&reftitle.parameters;

`object`

- The object to initialize.

&reftitle.returnvalues;

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

&reftitle.examples;

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

&example.outputs;

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

&reftitle.seealso;

- Lazy objects
- `ReflectionClass::newLazyGhost`
- `ReflectionClass::markLazyObjectAsInitialized`
- `ReflectionClass::isUninitializedLazyObject`