Redefine um objeto e o marca como lento

# ReflectionClass::resetAsLazyProxy

(PHP 8 >= 8.4.0)

ReflectionClass::resetAsLazyProxy — Redefine um objeto e o marca como lento

### Descrição

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

O comportamento deste método é o mesmo de ReflectionClass::resetAsLazyGhost() exceto que ele usa a estratégia de proxy.

O próprio objeto definido em `object` se torna o proxy. Da mesma forma que ReflectionClass::resetAsLazyGhost(), o objeto não é substituído por outro e sua identidade não muda, mesmo após a inicialização. O proxy e a instância real são objetos distintos, com identidades distintas.

### Parâmetros

`object`
  Um objeto não-lento ou um objeto lento inicializado.
`factory`
  Uma função de retorno fábrica com a mesma assinatura e finalidade que em ReflectionClass::newLazyProxy().
`options`

  `options` pode ser uma combinação das seguintes opções:

  `ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE`
    Por padrão, a serialização de um objeto lento aciona sua inicialização. Definir esta opção impede a inicialização, permitindo que objetos lentos sejam serializados sem serem inicializados.
  `ReflectionClass::SKIP_DESTRUCTOR`
    Por padrão, o destrutor de objetos é chamado (se houver) antes de torná-lo lento. Isso fornece segurança em relação a qualquer estado preexistente no objeto. Esta opção desativa esse comportamento, permitindo que os objetos sejam redefinidos como lentos sem chamar o destrutor.

### Valor Retornado

Nenhum valor é retornado.

### Erros/Exceções

Uma exceção ReflectionException é lançada se o objeto for lento e não inicializado.

Um Error é lançado se o objeto estiver sendo inicializado, ou se as propriedades do objeto estão sendo iteradas com `foreach`.

### Veja Também

- ReflectionClass::newLazyProxy() - Cria uma nova instância de proxy lento
- ReflectionClass::resetAsLazyGhost() - Redefine um objeto e o marca como lento

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