ReflectionClass::resetAsLazyProxy

(PHP 8 >= 8.4.0)

ReflectionClass::resetAsLazyProxyRedefine 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

adicionar nota

Notas de Usuários

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