PHP Conference Nagoya 2025

ReflectionClass::isUninitializedLazyObject

(PHP 8 >= 8.4.0)

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

説明

public ReflectionClass::isUninitializedLazyObject(object $object): bool

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

パラメータ

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)

参考

add a note

User Contributed Notes

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