Pregunta

¿Hay alguna manera en PHP de destruir un objeto desde ese mismo objeto?

¿Fue útil?

Solución

Hay una manera de autodestruir un objeto:

Use la matriz $ GLOBALS para encontrar su instancia en ella, luego use unset () . Tenga en cuenta que unset () no llama automáticamente al método mágico __destruct () todo el tiempo ...

Hay una nota de esta manera (consulte la documentación unset () ) en la documentación de PHP, pero no explica exactamente cuándo unset () no llame al método __destruct () .

Y tuve este comportamiento específico:

Hago un:

unset($myInstance);
$myInstance = clone $otherInstance;

Y primero se llama al __constructor , luego al __destruct () . O me gustaría que se llame primero al __destruct () porque unset () está antes de clonar ... Estoy atrapado con eso ahora ...

Nicolas.

Otros consejos

Si se llama a un método en el contexto del objeto, entonces debe haber al menos una referencia a ese objeto. Y dado que php solo elimina los objetos inalcanzables, la respuesta es: no.

No, no creo que la haya. ¿Pero necesitarías tal cosa?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top