¿Es predecible un destructor de clase en PHP? ¿Cuándo se llama al destructor?¿Es predecible el destructor en PHP?
Al igual que en muchos idiomas, será un destructor de clase se llamará tan pronto como el objeto sale del ámbito?
¿Es predecible un destructor de clase en PHP? ¿Cuándo se llama al destructor?¿Es predecible el destructor en PHP?
Al igual que en muchos idiomas, será un destructor de clase se llamará tan pronto como el objeto sale del ámbito?
PHP 5 introduce un concepto destructor similar a la de otros lenguajes orientados a objetos, tales como C++. El método destructor será llamado tan pronto como se eliminen todas las referencias a un objeto particular o cuando el objeto se destruya explícitamente o en cualquier orden en la secuencia de apagado.
Se llama cuando se cumple la primera de estas condiciones:
En resumen, no debe confiar en que siempre se invoca, porque es posible que el script no termine de forma limpia.
De hecho, como todas las referencias se han ido, no necesariamente si una variable está fuera de ámbito. – Wrikken
esto también incluye cuando el script mismo termina de ejecutarse. –
Pero, ¿cómo puedo llamar a los destructores en caso de que el script no termine limpiamente? En Windows, por ejemplo, al matar un proceso, todos los recursos contados como referencia se disminuyen automáticamente en el mismo conteo que se incrementaron antes del bloqueo. Necesito enviar un paquete para la limpieza de la sesión a otro servidor en caso de excepción también. –