consulta mysql sobre destrucción de clase

¿Está bien realizar una consulta mysqli en una función de destrucción de clase?

Escuché en alguna parte que no siempre terminará la consulta o no funcionará como se esperaba.

Por ejemplo:

class stackoverflow{
    function a() {
    }

    function b() {
    }

    function __destruct() {
        //mysqli query here
    }
}

preguntado el 12 de junio de 12 a las 18:06

su pregunta dice método __destruct() y su código __construct() -

2 Respuestas

En general, es mejor crear su propio método para realizar cualquier trabajo que deba realizarse hacia el final del script y llamarlo manualmente.

La razón principal de esto, en mi opinión, es el manejo de errores.

Según el documentación en línea:

Intentar lanzar una excepción desde un destructor (llamado en el momento de la finalización del script) provoca un error fatal.

Esto significa que si surge un error, por ejemplo, en su consulta mysql, un error fatal cerrará su secuencia de comandos.

un método __destruct puede ser útil a veces, pero es mejor usarlo en situaciones que solo requieren un código duro simple, que se prueba y no es propenso a errores.

Además, algunos servidores pueden cambiar varios parámetros durante la fase de apagado. Como el directorio de trabajo.

Respondido el 12 de junio de 12 a las 18:06

No hay ninguna razón por la que no debería funcionar como se esperaba. Sin embargo, ayudaría si explicara por qué quería hacerlo en primer lugar, puede haber una solución mejor que la que tienes en mente

Respondido el 12 de junio de 12 a las 18:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.