Zitat von TriphunEM
Beitrag anzeigen
OOP und AJAX
Einklappen
X
-
[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]
-
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
-
Zitat von TriphunEM Beitrag anzeigenAber variablen die in der klasse, von klassenfunktionen aus gespeichert werden, irgendwie nicht...komisch komisch...
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
-
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
-
Zitat von TriphunEM Beitrag anzeigenDie 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!I don't believe in rebirth. Actually, I never did in my whole lives.
Kommentar
-
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.
Kommentar
-
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
-
Zitat von wahsaga Beitrag anzeigenWenn 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.
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.
Kommentar
-
Zitat von combie Beitrag anzeigen1. 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
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
Kommentar