Tom: Komplettes Projekt in OOP v2

Beitrag lesen

Hello,

Eben dies soll er ja auch gar nicht.
Das Problem ist aber, dass hier ein Lost Handle erzeugt werden würde, wenn nicht spätestens der Destruktor die Verbindung zur DB kappt. Das DB-Handle zu löschen, hebt die Verbindung mMn nicht auf.

Die DB-Verbindung wird am Skriptende gekappt, wenn man sie nicht explizit vorher löscht.

Das ist mir klar. Ein Script könnte aber auch durchaus etwas länger laufen und es wäre möglich, dass jemand auf die Idee kommt, mehrere Datenbankverbindungen nacheinander aufzubauen (wenn Chris die DB-Klasse als Singleton Pattern aufbaut, geht es ja nur nacheinander... oder? Geht es überhaupt ein zweites Mal, so wie er es gebaut hat? Werden Static Vars auch gelöscht, wenn die Klasse stirbt?)

Ich würde dafür allerdings keinen Destruktor bemühen. Die Dinger sind, wie erwähnt, offensichtlich diffizil, und sollten für die Aufgaben vorbehalten bleiben, die wirklich wichtig sind. Mir fällt kein gutes Beispiel ein, aber das Beenden einer DB-Verbindung gehört nicht dazu.

Jedenfalls halte ich gerade für diese Aufgabe den Destruktor für den richtigen Ort, da das Handle nicht in den Einzugsbereich von PHP, sondern den des DBMS gehört und daher ordentlich zurückgegeben werden muss. Das Gleiche gilt für Dateihandles, Speicherhandles der Image-Funktionen usw.

Sollte es anders sein, muss das wieder ganz tief drinnen begründet sein ;-))

Liebe Grüße aus dem Cyberspace

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de
0 77

Komplettes Projekt in OOP v2

Chris
  • php
  1. 0
    Patrick Figel
  2. 0
    Sympathisant
    1. 0
      Chris
      1. 0
        Sympathisant
        1. 0
          Sven Rautenberg
          1. 0
            Sympathisant
      2. 1
        Sven Rautenberg
        1. 0
          dedlfix
      3. 0
        CHris
  3. 0
    Tom
    1. 0
      Chris
      1. 0
        Tom
      2. 0
        Sympathisant
        1. 0
          Tom
          1. 0
            Sven Rautenberg
            1. 0
              Tom
              1. 0
                Sympathisant
                1. 0
                  Tom
                  1. 0
                    Tom
                    1. 0
                      Sympathisant
                      1. 0
                        Tom
                        1. 0
                          dedlfix
                    2. 0
                      dedlfix
                  2. 0
                    Sympathisant
                    1. 0
                      Tom
                      1. 0
                        Sympathisant
                2. 0
                  Sven Rautenberg
                  1. 0
                    Tom
                    1. 0
                      dedlfix
                3. 0
                  dedlfix
                  1. 0
                    Sympathisant
                    1. 0
                      dedlfix
                      1. 0
                        Sympathisant
              2. 0
                dedlfix
                1. 0
                  Tom
          2. 0
            Sympathisant
        2. 0
          dedlfix
    2. 0
      dedlfix
      1. 0
        Tom
        1. 0
          dedlfix
          1. 0
            Tom
            1. 0
              dedlfix
              1. 0
                Tom
  4. 0

    PDF-Doku für OOP mit PHP5

    Tom
    1. 0
      dedlfix
      1. 0
        Tom
        1. 0
          dedlfix
  5. 0

    Und noch ein eBook für PHP OOP

    Tom
  6. 4
    dedlfix
    1. 0
      Tom
      1. 0
        dedlfix
  7. 0
    Chris
    1. 0
      dedlfix
      1. 0
        Chris
        1. 0
          Tom
          1. 0
            Chris
            1. 0
              Sympathisant
              1. 0
                Tom
        2. 0
          dedlfix
      2. 0
        Chris
        1. 0
          dedlfix
          1. 0
            Chris
            1. 0
              dedlfix
              1. 0
                Chris
                1. 1
                  dedlfix
                  1. 0
                    Chris
                    1. 0
                      dedlfix
                      1. 0
                        Chris
                        1. 0
                          dedlfix
                          1. 0
                            Chris
                            1. 0
                              Tom
                              1. 0
                                dedlfix
                            2. 0
                              dedlfix
                              1. 0
                                Chris
                                1. 0
                                  dedlfix
                                  1. 0
                                    Chris