Wie zuverlässig ist __Zauber?

8

Gibt es Situationen, in denen diese Methode nicht aufgerufen wird?

Ich denke, eine wichtige Variable in einen persistenten Cache zu speichern, kurz bevor das Cache-Objekt zerstört wird. Diese Variable wird viele Male auf der Seite verwendet, daher möchte ich den Cache nicht jedes Mal aktualisieren, wenn sich die Variable ändert ...

    
Alex 05.02.2012, 20:27
quelle

3 Antworten

14

Lassen Sie uns eine Klasse haben:

%Vor%

Und Testcode:

%Vor%

Also im Grunde: Es gibt Situationen (fatale Fehler), wenn der Destruktor nicht aufgerufen wird.

Ah und diese Frage hat dieselbe Antwort wie diese: When Wird __destruct nicht in PHP aufgerufen? (+/-)

    
Vyktor 05.02.2012, 20:32
quelle
3

Es wird aufgerufen, sobald keine Referenzen mehr auf dieses bestimmte Objekt oder während der Abschaltsequenz vorhanden sind. Das Handbuch gibt auch an, dass Destruktoren aufgerufen werden, wenn Skripte mit exit () beendet werden.

Abgesehen von dem Problem, auf das TimWolla hingewiesen hat, sind mir keine Probleme mit PHP-Destruktoren bekannt.

    
drew010 05.02.2012 20:32
quelle
1

Es scheint, als wäre ein Problem mit Windows: Ссылка

Ich weiß nicht, ob das noch relevant ist.

    
TimWolla 05.02.2012 20:30
quelle

Tags und Links