OOP und AJAX

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

  • #16
    Zitat von TriphunEM Beitrag anzeigen
    Ja, klar. Im construct der Klasse wird ein session_start gemacht!
    Ne, das ist wieder Blödsinn. Es sei denn, du redest vom Front-Controller.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #17
      Ich bemerk, das wenn ich in der mit ajax geladenen datei, mir eine variable ausgeben lass die ich zu vor in der index.php gesetzt habe...bekomm ich den wert. Aber variablen die in der klasse, von klassenfunktionen aus gespeichert werden, irgendwie nicht...komisch komisch...

      Kommentar


      • #18
        Zitat von TriphunEM Beitrag anzeigen
        Aber variablen die in der klasse, von klassenfunktionen aus gespeichert werden, irgendwie nicht...komisch komisch...
        Und dass diese „Variablen“ auf der Index-Seite auch wirklich korrekt gesetzt werden, hast du schon überprüft?

        Werden die gesetzt, bevor du das Objekt in die Session packst?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #19
          Also, ich bin jetzt mal schritt für schritt alles durchgegangen.
          Es funktioniert soweit, auch die Daten sind in den Variablen.

          Die eine Funktion, die eben nicht funktionierte, da liegt es nicht an den Variablen, sondern an der in dieser verwendeten mysql-abfrage. die mysql verbindung wurde in der klasse in eine static-variable zwischen gespeichert. bei meinem select frag ich ab ob die variable eine wert (mysql-verbindung) hat, was sie scheinbar hat, aber des mysql_query schlägt dann fehl. also ein problem mit der verbindung!

          Kommentar


          • #20
            Zitat von TriphunEM Beitrag anzeigen
            Die eine Funktion, die eben nicht funktionierte, da liegt es nicht an den Variablen, sondern an der in dieser verwendeten mysql-abfrage. [...] also ein problem mit der verbindung!
            Das hättest du aber wohl auch ein bisschen früher herausfinden können, wenn du deine Fehlersuche mal etwas sinnvoller und systematischer betreiben würdest ...
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #21
              Ja richtig! Allerdings weiß ich jetzt nicht was ich mit der Verbindung machen soll! Sie ist eigentlich da, aber kann sie nicht verwenden! Kann man irgendwie prüfen ob eine Verbindung noch gültig ist, und wenn nicht dann halt neu erstellen?

              Was auch schade ist das ich kein zugriff auf statische variablen habe! also die mit "prodected static" definiert wurden. Auf die kann ich leider nach der Übergabe nicht mehr zugreifen bzw. sie sind nicht mehr da.

              Allerdings kann ich auf die statischen Variablen nicht verzichten, da diese im Constructor gesetzt werden, und bei vererbung in den anderen klassen auch zur verfügung stehen ohne nochmal neu gesetzt zu werden.
              Zuletzt geändert von AmicaNoctis; 12.04.2010, 20:44. Grund: Doppelpost

              Kommentar


              • #22
                Das ist fehlerhaftes Design. Wie soll auch bei der Deserialisierung von Objekten (also Instanzen) der statische Kontext wiederhergestellt werden? Das geht halt einfach nicht, also musst du dich von diesem statischen Kram verabschieden und es richtig objektorientiert auf Instanzenbasis aufbauen. Dann kannst du es auch (de)serialisieren.
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar


                • #23
                  Zitat von wahsaga Beitrag anzeigen
                  Wenn ich das Manual diesbezüglich richtig interpretiere, werden in der Session abgelegte Objekte nur dann automatisch serialisiert und wieder de-serialisiert, wenn session_register verwendet wird.

                  Bei Nutzung von $_SESSION muss man sich um die (De-)Serialisierung aber selber kümmern.
                  1. session_register ist veraltet und funktioniert nur mit register_globals=On. Fliegt mit PHP6 sicherlich raus
                  2. Die deserialisierung wird von der Sessionverwaltung automatisch vorgenommen. Keine Handarbeit nötig
                  3. Ressourcen (z.B. DB Handles) sind NICHT (de)serialisierbar, haben also in Sessions NICHTS verloren
                  4. Bei Klassen in Session, den/die Autoloader VOR session_start() registrieren
                  5. $_SESSION nicht überfrachten. Es besteht Gefahr, mit veralteten Daten zu arbeiten
                  6. Das Erzeugen von Objekten per new ist nur unwesentlich langsamer (wenn überhaupt) als das deserialisieren.
                  Wir werden alle sterben

                  Kommentar


                  • #24
                    Zitat von combie Beitrag anzeigen
                    1. session_register ist veraltet und funktioniert nur mit register_globals=On. Fliegt mit PHP6 sicherlich raus
                    2. Die deserialisierung wird von der Sessionverwaltung automatisch vorgenommen. Keine Handarbeit nötig
                    1. ist natürlich klar, nur bzgl. 2. war ich mir nicht ganz sicher, weil das Manual explizit nur von session_register spricht, was die automatische Serialisierung angeht.
                    http://www.php.net/manual/en/languag...ialization.php
                    Vermutlich einfach nur mal wieder nicht up to date.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar

                    Lädt...
                    X