Dies ist mein erstes Mal auf stackoverflow, aber ich habe diese Threads mir enorm geholfen!Gibt es Fälle, in denen der Destruktor in PHP NICHT aufgerufen wird?
Anywho, auf meine Frage ... gibt es irgendwelche Fälle, wenn der Destruktor in PHP nicht aufgerufen wird? Der Grund, warum ich frage, ist, weil ich eine Mapper-Klasse habe, die Daten auf Objekte abbildet, und im Konstruktor beginne ich eine Transaktion und im Destruktor rufe ich einen Commit auf (ich habe auch eine Member-Funktion, die auch die Commit-Funktion ausführen kann) , Falls benötigt). Wenn es Fälle gibt, in denen der Destruktor nicht aufgerufen wird, würde ich es gerne wissen, damit ich es vorhersehen und entsprechend planen kann.
Vielen Dank!
Vielen Dank! :) Ich hatte diesen Ausschnitt aus dem Handbuch gelesen, dachte mir aber, ich würde versuchen, in Sicherheit zu sein, indem ich auch hier frage. Ich habe gerade getestet, was passiert ist, als ein schwerwiegender Fehler auftrat. Alles, was ich getan habe, wurde ein Mitglied erstellt, das versucht, ein nicht existierendes Mitglied anzurufen. Der Destruktor wurde NICHT aufgerufen. Es wird natürlich mit Warnungen und unten aufgerufen. Ansonsten kann ich nicht an andere Instanzen denken, die überprüft werden könnten, ob es aufgerufen wird. Ich nehme nur an, es tut und umfangreiche Tests! Danke nochmal! –
@Logan du bist willkommen. Interessante Sache über den fatalen Fehler: Es funktionierte für mich, wenn ich einen mit '$$ fake() provozierte;' Vielleicht hängt es von der Art des Fehlers ab. Schauen Sie sich auch den Absatz an, den ich gerade hinzugefügt habe, mit einigen Gedanken zur allgemeinen Idee. –
danke für die extra Info! Ich habe gerade getestet, ob ich was in einem Destruktor machen könnte. Soweit ich weiß, kann ich eine Member-Funktion der gleichen Klasse und eine Member-Funktion einer anderen Klasse aufrufen (aus dem Konstruktor instanziiert). Vielleicht kann ich tun, was ich tun wollte, ich werde einen weiteren Kommentar posten, sobald ich es herausfand. –