« ReflectionClass::implementsInterface
ReflectionClass::inNamespace »

ReflectionClass::initializeLazyObject

(PHP 8 >= 8.4.0)

ReflectionClass::initializeLazyObject — レイジーオブジェクトを強制的に初期化する

説明

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

指定されたobjectを強制的に初期化します。この メソッドは、オブジェクトがレイジーでないか、既に初期化されている場合は 効果がありません。それ以外の場合、初期化は 初期化シーケンス の通り進行します。

注意:

ほとんどの場合、このメソッドを呼び出す必要はありません。なぜなら、 レイジーオブジェクトはその状態が参照または変更されたときに 自動的に初期化されるからです。

パラメータ

object

初期化するオブジェクト。

戻り値

objectがレイジープロキシであれば、 その実インスタンスを、そうでなければ object自身を返します。

例

例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($object);

$reflector->initializeLazyObject($object);

var_dump($object);
?>

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

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

参考

関連キーワード:
初期化   レイジー   ReflectionClass   強制的   initializeLazyObject   Example   prop   reflector   インスタンス   construct   newLazyGhost   Initializer   called   dump   implementsInterface   inNamespace   効果   シーケンス   進行   自動的   プロキシ   自身   基本的   lazy   ghost
関連する関数・ページ:
reflectionclass.isuninitializedlazyobject   reflectionclass.newlazyghost   reflectionclass.marklazyobjectasinitialized   reflectionclass.newlazyproxy   reflectionclass.resetaslazyproxy   reflectionclass.resetaslazyghost