Questa è la prima volta che pubblicizzo su StackOverflow, ma questi thread mi hanno aiutato moltissimo!Esistono casi in cui NON viene chiamato il distruttore in PHP?
Anywho, sulla mia domanda ... ci sono dei casi in cui NON viene chiamato il distruttore in PHP? Il motivo per cui lo chiedo è che ho una classe mapper che mappa i dati sugli oggetti e nel costruttore, avvio una transazione e nel distruttore chiamerò un commit (avrò anche una funzione membro che può anche eseguire il commit , se necessario). Se ci sono casi in cui il distruttore non viene chiamato, mi piacerebbe saperlo, così posso anticiparlo e pianificare in modo appropriato.
Grazie mille!
Grazie! :) Avevo visto questo frammento dal manuale, ma ho pensato di provare ad essere sicuro chiedendo anche qui. Ho appena provato per vedere cosa è successo quando si è verificato un errore fatale. Tutto ciò che ho fatto è stato creato un membro che tenta di chiamare un membro inesistente. Il distruttore NON è stato chiamato. Ovviamente, viene chiamato con avvertenze e sotto. Altrimenti, non riesco a pensare a nessun'altra istanza che possa essere controllata per vedere se viene chiamata. Suppongo che lo faccia e faccia test approfonditi! Grazie ancora! –
@Logan, prego. La cosa interessante dell'errore fatale: ha funzionato per me quando si provoca uno usando '$$ fake();' Forse dipende dal tipo di errore. Inoltre, controlla il paragrafo che ho appena aggiunto con alcune considerazioni sull'idea generale. –
grazie per le informazioni extra! Ho appena provato per vedere se cosa potevo fare in un distruttore. Finora, so di poter chiamare una funzione membro della stessa classe e una funzione membro di una classe diversa (istanziata dal costruttore). Forse posso fare quello che volevo fare, pubblicherò un altro commento una volta che lo scoprirò di sicuro. –