PHP Conference Nagoya 2025

ReflectionClass::initializeLazyObject

(PHP 8 >= 8.4.0)

ReflectionClass::initializeLazyObjectForça a inicialização de um objeto lento

Descrição

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

Força a inicialização do objeto especificado em object. Este método não tem efeito se o objeto não for lento ou já tenha sido inicializado. Caso contrário, a inicialização procederá como descrito na Sequência de Inicialização.

Nota: Na maioria dos casos, chamar esse método é desnecessário, pois os objetos lentos se inicializam automaticamente quando seu estado é observado ou modificado.

Parâmetros

object
O objeto a ser inicializado.

Valor Retornado

Se object for um proxy lento, retorna sua instância real. Caso contrário, retorna o próprio object.

Exemplos

Exemplo #1 Uso básico

<?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);
?>

O exemplo acima produzirá:

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

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top