PHP: Destrua um objeto de dentro do objeto?
Pergunta
Existe uma maneira em PHP para destruir um objeto de dentro desse mesmo objeto?
Solução
Há uma maneira de Self Destruct um objeto:
Use a matriz $GLOBALS
para encontrar o seu exemplo, em que, em seguida, usar unset()
. Esteja ciente de que unset()
não chama automaticamente o método __destruct()
mágica o tempo todo ...
Não é tal nota um, desta forma (consulte a documentação unset()
) na documentação do PHP, mas não explica exatamente quando unset()
não chamar o método __destruct()
.
E eu tinha esse comportamento específico:
Eu faço um:
unset($myInstance);
$myInstance = clone $otherInstance;
E o __constructor
é chamado primeiro, depois o __destruct()
. Ou gostaria que o __destruct()
a ser chamado em primeiro lugar porque unset()
é antes clone ...
I ma preso com isso agora ...
Nicolas.
Outras dicas
Se um método é chamado no contexto do objeto, em seguida, tem de haver pelo menos uma referência a esse objeto. E desde php só remove objetos inacessíveis a resposta é: Não.
Não, eu não acho que existe. Mas você precisaria de tal coisa?