ReflectionClass::isUninitializedLazyObject

オブジェクトがレイジーで未初期化かどうかを調べる

説明

public bool ReflectionClass::isUninitializedLazyObject(object $object)

オブジェクトがレイジーで未初期化かどうかを調べます。

パラメータ

object
調べるオブジェクト。

戻り値

object が未初期化のレイジーオブジェクトであれば true を、 そうでなければ false を返します。

例1 基本的な使用法

<?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($reflector->isUninitializedLazyObject($object));

var_dump($object->prop);

var_dump($reflector->isUninitializedLazyObject($object));
?>

上の例の出力は以下となります。

bool(true)
Initializer called
int(1)
bool(false)

参考