ReflectionClass::initializeLazyObject
(PHP 8 >= 8.4.0)
ReflectionClass::initializeLazyObject — Forces initialization of a lazy object
说明
Forces initialization of the specified object
. This
method has no effect if the object is not lazy or has already been
initialized. Otherwise, initialization proceeds as described in the
Initialization
Sequence.
注意: In most cases, calling this method is unnecessary, as lazy objects initialize themselves automatically when their state is observed or modified.
参数
object
- The object to initialize.
返回值
If object
is a lazy proxy, returns its real instance.
Otherwise, returns object
itself.
示例
示例 #1 Basic usage
<?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) }
参见
- Lazy objects
- ReflectionClass::newLazyGhost() - Creates a new lazy ghost instance
- ReflectionClass::markLazyObjectAsInitialized() - Marks a lazy object as initialized without calling the initializer or factory
- ReflectionClass::isUninitializedLazyObject() - Checks if an object is lazy and uninitialized
+添加备注
用户贡献的备注
此页面尚无用户贡献的备注。
备份地址:http://www.lvesu.com/blog/php/reflectionclass.initializelazyobject.php