Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Objekte übergeben

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Objekte übergeben

    Hallo an alle! (bin ganz neu registriert)
    Auch wenn ich mich jetzt nicht als "Einsteiger" bezeichnen würde, so habe ich eine "Einsteiger-Frage".

    frage:
    Ich erstelle ein oder mehrere Objekte. Jetzt möchte ich die Objekte innerhalb meiner Site verwenden ohne diese jedesmal neu erstellen zu müssen.
    Ist dies überhaupt möglich und wenn ja wie würdet Ihr an die Sache rangehn?

    Ich erwarte keine Musterlösung würde mich aber über ein paar Tipps und Anregungen freuen.

    Danke im Voraus
    Felix
    Wer Rechtschreibefehler in meinen Beiträgen findet,
    der darf sie gerne behalten/tauschen/bei ebay versteigern...

  • #2
    Hi und willkommen im Forum. Bitte stelle deine Frage etwas detaillierter und beschreibe genauer was du vor hast, in diesem Fall ist wohl auch ein Beispiel angebracht.

    Gruß
    Cy

    Kommentar


    • #3
      Und wo ist das Problem? Wenn du ein Objekt erstellst, kannst du das doch innerhalb der Seite so oft verwenden, wie du willst. Und wenn du es über mehrere Seiten benutzen willst, schreib es halt in eine Session-Variable.
      Gruss
      L

      Kommentar


      • #4
        Was hier gerade etwas lazy geschrieben wurde meint: Sessionobjkete inklusive Daten kann man serialisieren und in einer Session speichern. Beim Neuaufruf muß dann zunächst der entsprechende Klassencode eingebunden werden und dann die Session importiert.
        Näheres wird im Manual unter PHP 4 Klassen beschrieben.
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Danke! soetwas wollte ich wissen! *freu*
          Wer Rechtschreibefehler in meinen Beiträgen findet,
          der darf sie gerne behalten/tauschen/bei ebay versteigern...

          Kommentar


          • #6
            Selbes Problem!

            Hallo! Ich habe genau das selbe Problem! Allerdings bin ich noch auf keine Lösung gekommen. Angenommen ich probiere folgendes:

            Datei test.php:

            PHP-Code:
            class Test {
              var 
            $a 77;
            }

            $var = new Test();
            $_SESSION['var'] = $var

            Datei test2.php:
            PHP-Code:
            $var $_SESSION['var'];
            echo 
            $var->a
            Die Ausgabe in Datei test2.php bleibt allerdings leer. Dann habe ich probiert die Daten mit serialize() zu serialisieren bzw. entserialisieren, allerdings ohne Veränderung des Ergebnisses.

            Abgesehen davon wollte ich noch wissen ob es nicht möglich ist, in die Session-Variable eine Referenz auf das Objekt zu speichern. Sodass nach einer Änderung am Objekt nach dem Speichern in die Session, diese Änderungen trotzdem an anderer Stelle verfügbar sind.

            Fragen über Fragen...
            Ich hoffe jemand kann mir weiterhelfen...
            Danke im Voraus und Gruß,

            manuel

            Kommentar


            • #7
              Funktioniert es denn mit ganz normalen Variablen? Also hast du auch session_start() gemacht?

              Kommentar


              • #8
                Zitat von cycap Beitrag anzeigen
                Funktioniert es denn mit ganz normalen Variablen? Also hast du auch session_start() gemacht?
                Ja, mit normalen Variablen ist es kein Problem... session_start() wurde auch gemacht... keine Ahnung warum das nicht geht...

                Kommentar


                • #9
                  Tippe auch auf session_start ()

                  Das verstehe ich nicht:
                  Abgesehen davon wollte ich noch wissen ob es nicht möglich ist, in die Session-Variable eine Referenz auf das Objekt zu speichern. Sodass nach einer Änderung am Objekt nach dem Speichern in die Session, diese Änderungen trotzdem an anderer Stelle verfügbar sind.
                  Wenn Du die Session lädst kannst Du mit dem Objekt arbeiten, inklusive der Daten bei Speicherung. Wenn Du eine Änderung der Daten nach Sessionspeicherung meinst: Ausprobieren!
                  PHP-Code:
                  $_SESSION['objekt'] = & $object
                  Wüßte nicht, warum das nicht funzen sollte.

                  [EDIT]
                  Ja, mit normalen Variablen ist es kein Problem... session_start() wurde auch gemacht... keine Ahnung warum das nicht geht...
                  Wie oben beschrieben: Erst Klassendefinition importieren.
                  [COLOR="#F5F5FF"]--[/COLOR]
                  [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                  [COLOR="#F5F5FF"]
                  --[/COLOR]

                  Kommentar


                  • #10
                    Ich frage mich gerade: Wird eigentlich die __destruct ausgeführt sobald die Session abgelaufen ist? Wahrscheinlich nicht oder?

                    Kommentar


                    • #11
                      Wenn das Objekt nicht mal erstellt wird??
                      [COLOR="#F5F5FF"]--[/COLOR]
                      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                      [COLOR="#F5F5FF"]
                      --[/COLOR]

                      Kommentar


                      • #12
                        Zitat von nikosch77-new Beitrag anzeigen
                        Beim Neuaufruf muß dann zunächst der entsprechende Klassencode eingebunden werden
                        Gib das mal mit var_dump($var) aus, und du wirst sehen, dass die Daten zwar da sind, aber als unvollständiges Objekt ( «object(__PHP_Incomplete_Class)#1 » ), und darum nicht abrufbar.
                        Sobald die Klassendefinition verfügbar ist, sind auch die Daten verfügbar.
                        Gruss
                        L

                        Kommentar


                        • #13
                          Ok, hatte vergessen die Klasse auch in test2.php einzubinden.

                          Allerdings haut das mit der Referenz nicht hin, da ich die Variable ja serialisieren muss. Was mich auch gleich zu meiner nächsten Frage führt: Warum muss ich Objekte serialisieren aber normale Variablen nicht?

                          Kommentar


                          • #14
                            Zitat von nikosch77-new Beitrag anzeigen
                            Wenn das Objekt nicht mal erstellt wird??
                            Die Frage war allgemein, nicht auf die Problematik hier bezogen.

                            Kommentar


                            • #15
                              Bei mir geht das auch ohne Serialisierung, aber ich weiss nicht, ob das auch so definiert ist.
                              Gruss
                              L

                              Kommentar

                              Lädt...
                              X