PHP Conference Japan 2024

ReflectionClass::initializeLazyObject

(PHP 8 >= 8.4.0)

ReflectionClass::initializeLazyObject強制初始化延遲物件

說明

public ReflectionClass::initializeLazyObject(物件 $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)
}

參見

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top