Benjamin Wilfing: OOP, Instanz ordentlich vernichten

Beitrag lesen

Hi Tom,

Wenn ich jetzt in einer Funktion eine Instanz erzeuge, was passiert mit der Instanzvariablen, wenn die Funktion endet? Wird sie wie eine Variable entfernt, oder bleibt sie wie ein Handle erhalten?

ich bin auch weder eine PHP-Koryphäe, noch studiere ich Informatik oder so, ganz intuitiv hätte ich aber gesagt, dass sie wie eine Variable zerstört wird. Folgender Codeschnipsel gibt mir dabei recht:

  
<?php  
  
class Test {  
 function __construct() {  
  echo "Klasse wurde instantiiert.\n";  
 }  
  
 function __destruct() {  
  echo "Klasse wurde zerstört.\n";  
 }  
}  
  
  
function testDestructor() {  
 $test = new Test();  
}  
  
header('Content-Type: text/plain');  
testDestructor();  
  
?>  

gibt folgendes aus:

Klasse wurde instantiiert.
Klasse wurde zerstört.

Und in einer Schleife?
Kann ich sie einfach überschreiben?

In der Funktion? Vermutlich ja, aber ich habe es nicht getestet. Oder vielleicht verstehe ich dich falsch ;-)

Viele Grüße
 Benjamin

--
Der nächste Satz ist gelogen.
Der vorherige Satz ist wahr.