Documentación offline PHP master

ReflectionClass::markLazyObjectAsInitialized

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

ReflectionClass::markLazyObjectAsInitialized

Marca un objeto perezoso como inicializado sin llamar al inicializador o a la fábrica

Descripción#

public ReflectionClass::markLazyObjectAsInitialized(object $object): object
```php

Marca un objeto perezoso como inicializado sin llamar al inicializador o a la fábrica. Esto no tiene ningún efecto si `object` no es perezoso o ya está inicializado.

El efecto de la llamada a este método es el mismo que se describe para los objetos fantasma (independientemente de la estrategia perezosa de `object`) en [secuencia de inicialización](#language.oop5.lazy-objects.initialization-sequence), excepto que no se llama al inicializador. Después de esto, el objeto es indistinguible de un objeto que nunca fue perezoso y fue creado con ReflectionClass::newInstanceWithoutConstructor, excepto por el valor de las propiedades que ya han sido inicializadas con ReflectionProperty::setRawValueWithoutLazyInitialization o ReflectionProperty::skipLazyInitialization.

## Parámetros

`object`  
El objeto a marcar como inicializado.

## Valores devueltos

Devuelve `object`.

## Ejemplos

Marcar un objeto perezoso no inicializado como inicializado
newLazyGhost(function ($object) { echo "Initializer called\n"; $object->prop1 = 'initialized'; }); $reflector->getProperty('prop1') ->setRawValueWithoutLazyInitialization($object, 'prop1 value'); var_dump($object); $reflector->markLazyObjectAsInitialized($object); var_dump($object); ?>
El ejemplo anterior mostrará:

    lazy ghost object(Example)#3 (1) {
      ["prop1"]=>
      string(11) "prop1 value"
      ["prop2"]=>
      uninitialized(string)
      ["prop3"]=>
      uninitialized(string)
    }
    object(Example)#3 (2) {
      ["prop1"]=>
      string(11) "prop1 value"
      ["prop2"]=>
      uninitialized(string)
      ["prop3"]=>
      string(13) "default value"
    }

Marcar un objeto perezoso inicializado como inicializado
newLazyGhost(function ($object) { echo "Initializer called\n"; $object->prop1 = 'initialized'; }); $reflector->getProperty('prop1') ->setRawValueWithoutLazyInitialization($object, 'prop1 value'); var_dump($object->prop3); var_dump($object); $reflector->markLazyObjectAsInitialized($object); var_dump($object); ?>

```php

El ejemplo anterior mostrará:

Initializer called
string(13) "default value"
object(Example)#3 (2) {
  ["prop1"]=>
  string(11) "initialized"
  ["prop2"]=>
  uninitialized(string)
  ["prop3"]=>
  string(13) "default value"
}
object(Example)#3 (2) {
  ["prop1"]=>
  string(11) "initialized"
  ["prop2"]=>
  uninitialized(string)
  ["prop3"]=>
  string(13) "default value"
}

Véase también#

Objetos perezosos

ReflectionClass::newLazyGhost

ReflectionClass::initializeLazyObject

ReflectionClass::isUninitializedLazyObject