Destruktor

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Destruktor

    kann mir ma einer schnell mitteilen was ein deconstruktor is? also ich kann mir so halb was zamreimen aber was macht der im endeffekt?!
    EDIT:
    ot-tags rausgenommen
    Zuletzt geändert von mrhappiness; 14.09.2003, 18:38.
    Man lernt nie aus...

    ...und wenn man's doch tut braucht man sich auch nicht schämen!

  • #2
    stell dir vor du erstellst dir eine instanz eine rklasse, auf neudeutsch: ein objekt

    stell dir weiterhin vor, du verbrätst damit 128TB speicher und machst jetzt einfach $objekt->destroy();

    dann is der speicher im eimer wenn's dumm läuft

    ein destruktor wird automatisch aufgerufen, wenn du ein objekt zerstörst um aufräumarbeiten durchzuführen und sachenzu machen, die du einmalig am ende der lebenszeit eines objekts machen willst

    inwieweiz das php <5 sinnig is, sei mal dahingestellt, da ein destruktor dort nicht automatisch aufgerufen wird. du müsstest ihn da als __sleep() implementieren
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Wenn du eine Instanz einer Klasse erstellst, wird der sog. Konstruktur aufgerufen. Der Dekonstruktor wird aufgerufen, wenn die Instanz "zerstört" wird. Also wenn du sie löschst.

      PHP-Code:
      class MyDestructableClass {
          var 
      $name '';

          function 
      __construct() {
              print 
      "In constructor<br />\n";
              
      $this->name "MyDestructableClass";
          }

          function 
      __destruct() {
              print 
      "Destroying " $this->name "<br />\n";
          }
      }

      $obj = new MyDestructableClass();
      unset(
      $obj); 
      [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
      [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
      [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

      © Harald Schmidt

      Kommentar


      • #4
        man kann auch bei php < 5 einen "destruktor" verwenden.

        zwar nicht vollwertig, aber immerhin ein bisschen was ..

        http://de2.php.net/manual/de/functio...n-function.php

        da ist eine genauere beschreibung zu finde..

        Kommentar


        • #5
          so wie ich das verstehe beim überfliegen is das ne funktion die dann ausgeführt wird, wenn mei nskript zuende ist, also muss ich in dieser funktion dann den destruktor all meiner objekte aufrufen oder?

          da gefällt mir __sleep besser, das wird nämlich automatisch aufgerufen
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar

          Lädt...
          X