Reinicia un objeto y lo marca como perezoso

# ReflectionClass::resetAsLazyGhost

(PHP 8 >= 8.4.0)

ReflectionClass::resetAsLazyGhost — Reinicia un objeto y lo marca como perezoso

### Descripción

public function ReflectionClass::resetAsLazyGhost(object `$object`, callable `$initializer`, int `$options` = 0): void

Reinicia un `objeto` existente y lo marca como perezoso.

El destructor del objeto es llamado (si existe) a menos que se especifique el flag `ReflectionClass::SKIP_DESTRUCTOR`. En el caso particular donde el objeto es un proxy inicializado, la instancia real es desvinculada del proxy. Si la instancia real ya no es referenciada en otro lugar, su destructor es llamado independientemente del flag `SKIP_DESTRUCTOR`.

Las propiedades dinámicas son eliminadas, y el valor de las propiedades declaradas en la clase es descartado como si unset() fuera llamada, y marcadas como perezosas. Esto implica que si el objeto es una instancia de una subclase con propiedades adicionales, estas propiedades no son modificadas y no son marcadas como perezosas. Las propiedades readonly no son modificadas y no son marcadas como perezosas si son `final` o si la clase misma es `final`.

Si ninguna propiedad es marcada como perezosa, el objeto no es marcado como perezoso. Ver también Ciclo de vida de los objetos perezosos.

De lo contrario, después de la llamada a este método, el comportamiento del objeto es el mismo que un objeto creado por ReflectionClass::newLazyGhost() (excepto para las propiedades de subclase y las propiedades readonly, como se describe anteriormente).

El objeto no es reemplazado por otro, y su identidad permanece inalterada. Las funcionalidades como spl_object_id(), spl_object_hash(), SplObjectStorage, WeakMap, WeakReference, o el operador de identidad (`===`) no son afectadas.

### Parámetros

`object`
  Un objeto no perezoso, o un objeto perezoso inicializado.
`initializer`
  Una función de retrollamada con la misma firma y propósito que en ReflectionClass::newLazyGhost().
`options`

  `options` puede ser una combinación de los siguientes flags:

  `ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE`
    Por omisión, la serialización de un objeto perezoso desencadena su inicialización. Definir este flag evita la inicialización, permitiendo que los objetos perezosos sean serializados sin ser inicializados.
  `ReflectionClass::SKIP_DESTRUCTOR`
    Por omisión, el destructor del objeto es llamado (si existe) antes de marcarlo como perezoso. Este flag desactiva este comportamiento, permitiendo que los objetos sean reiniciados como perezosos sin llamar al destructor.

### Valores devueltos

No se retorna ningún valor.

### Errores/Excepciones

Una ReflectionException si el objeto es perezoso y no está inicializado.

Una Error si el objeto está en proceso de inicialización, o si las propiedades del objeto son iteradas con `foreach`.

### Ver también

- ReflectionClass::newLazyGhost() - Crear una nueva instancia fantasma perezosa
- ReflectionClass::resetAsLazyProxy() - Reinicia un objeto y lo marca como perezoso

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open