PHP Conference Japan 2024

ReflectionClass::initializeLazyObject

(PHP 8 >= 8.4.0)

ReflectionClass::initializeLazyObject强制初始化延迟对象

描述

public 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)
}

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top