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