OOP Frage

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

  • OOP Frage

    Hallo,

    kurze Frage:

    Ich habe ein Objekt das unter anderem ein Template und ein SQL Objekt erzeugt. Das Template Objekt erzeugt wenn ein Plugin eingebunden wird wieder ein Objekt, nämlich das Plugin selbst.
    Ist es irgendwie möglich in diesem Plugin Objekt auf die bestehende Datenbankverbindung zuzugreifen ?

    Das datenbankobjekt wäre hier
    $main->sql
    das plugin objekt hier
    $main->tmpl->plugin

    Ich hatte jetzt daran gedacht den Link Handle der DB Verbindung in der Session zu speichern und im Plugin abzurufen, oder geht das vielleicht noch einfacher / eleganter ?

    kommt man da irgendwie mit $main::sql::irgendwas ran ? in perl geht das so ähnlich

    Ist mein erstes OOP Projekt

    danke!
    Zuletzt geändert von kaguya; 01.10.2005, 09:34.

  • #2
    also soweit ich weiß mit den doppelpunkten ruft man statische methoden auf also Klassenname::Statische Methode

    und hab ich das richtig verstanden ein objekt soll auf ein anderes objekt zugreifen?

    Kommentar


    • #3
      Wenn ich dich richtig verstanden habe, dann willst du dein Datenbank-Objekt in anderen Objekten wieder verwenden. Quasi ein globales Datenbank-Objekt.

      Such mal nach Singleton (ist ein Design Pattern).
      hopka.net!

      Kommentar


      • #4
        jap,

        $controllerobjekt->sqlobjekt hat die SQL Verbindung

        diese brauche ich in

        $controllerobjekt->templateobjekt->pluginobjekt

        weil ich nicht extra eine neue db verbindung öffnen und schliessen will

        oder kann ich ganz einfach mit $controllerobjekt->sqlobjekt->getSqlVerbindung() im Pluginobjekt darauf zugreifen ?

        Kommentar


        • #5
          Original geschrieben von Hopka
          Wenn ich dich richtig verstanden habe, dann willst du dein Datenbank-Objekt in anderen Objekten wieder verwenden. Quasi ein globales Datenbank-Objekt.

          Such mal nach Singleton (ist ein Design Pattern).
          ist singleton nicht php5 vorbehalten ?

          Kommentar


          • #6
            nein.

            Kommentar


            • #7
              ok soweit kapiert, funktioniert auch.

              2 fragen noch:
              1. wozu das & vor dem aufruf der Methode und vor der methode selbst in klasse ? & steht für eine Referenz, das weiss ich, aber beim ersten mal existiert das Objekt doch noch garnicht um eine Referenz davon zu erstellen ?!

              2. Kann der Konstruktor jetzt immernoch Parameter haben ? ich hatte da vorher als Parameter sql host, user und pass, das müsste ich dann ja jetzt theoretisch der instanz übergeben die es beim erzeugen an den konsturktor gibt, aber das klappt nicht...

              habe jetzt eine extra methode dafür gemacht, dann brauche ich allerdings den konstruktor nicht mehr

              Kommentar


              • #8
                1. so wird die existenz eines einzigen objektes gewährleistet.
                2. sowas wie
                PHP-Code:
                # ...
                function &instance($arg1$arg2)
                # ...
                $instance = new myClass ($arg1$arg2);
                # ... 
                (im bezug auf mein codeschnippsel.

                Kommentar


                • #9
                  ok danke schonmal, ich habe jetzt erreicht was ich wollte, anders ginge das wohl auch nicht.

                  Kommentar

                  Lädt...
                  X