Portal > Foren > PHP > PHP-Programmierung > Magic Function __sleep()
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 24.12.2005, 18:46 Nach oben    #1
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard Magic Function __slepp()

Hi,
ich habe ein kleines Prolem mit der magic function __sleep() {...} mit error_reporting(E_ALL);
Am Anfang bekam ich den Fehler, dass __sleep() ein Array zurückgeben soll mit allen zu serialisierenden Klassenvariablen.
hab ich dann auch gemacht:
PHP-Code:
     public function __sleep() {
         return array(
$this->db_host$this->db_name$this->db_user$this->db_pass);
     } 
nur nun sagt er mir folgenden fehler (wenn die dinger gefüllt waren, was ich im konstruktor tue)
Zitat:
Notice: Unknown: "localhost" returned as member variable from __sleep() but does not exist in Unknown on line 0
das ganze mit den andern Variablen.
wobei anstatt localhost immer der Inhalt der Variablen steht.

mein Objekt setzte immer in die Session und versuche sie auch wieder da raus zu holen:
PHP-Code:
    $gallery = (!empty($_SESSION['J_gallery']) && is_object($_SESSION['J_gallery'])) ? $_SESSION['J_gallery'] : new Jgallery("localhost""jgallery""root""");
    
$gallery->initiate();
    
$_SESSION['J_gallery'] = $gallery
das lustige/verwirrende ist:
immer wenn ich nun die Seite aktualisiere, bekomme ich abwechselnd das oben beschriebene und 4x das:
Zitat:
Notice: Unknown: __sleep should return an array only containing the names of instance-variables to serialize. in Unknown on line 0
Ich muss zugeben, dass ich etwas verwirrt bin
Könnt ihr mir das erklären? Oder mir helfen?
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 24.12.2005, 18:51 Nach oben    #2
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

__sleep() braucht man doch eigentlich gar nicht. Es wird doch automatisch alles serialisiert, oder irre ich mich da?
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 24.12.2005, 19:05 Nach oben    #3
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

jain, man braucht es nicht und eigentlich ist meine Erfahrung genau deine Aussage (toller Satz). Aber ich wollt es mal spaßeshalber probieren. Und wenn ic kein Array zurückgebe klappt auch alles, nur wenn ich eins Zurückgebe, klappt es nicht
das ist das, was mich verwirrt

//edit: wenn ich ein leeres Array zurückgebe, wird auch nix gespeichert.... Also funktioniert der Mechanismus schon mal im Prinzip. Nur wenn ich was explizit speichern will, funktioniert es auf einmal nciht mehr
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int

Geändert von Jojo (24.12.2005 um 19:07 Uhr)
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 24.12.2005, 23:36 Nach oben    #4
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.512
Standard

Imho muss man nicht alles verstehen.
Solange ich keinen wirklichen Anwendungsfall für __sleep() sehe ... wozu sollte ich mich damit befassen?
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.12.2005, 03:29 Nach oben    #5
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

Tja, niemand zwingt dich, dich damit zu befassen.
Ich würds gerne! Also hast du jetzt eine aufklärende Info für mich oder nich?
Grüße,
Jojo
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.12.2005, 04:06 Nach oben    #6
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.512
Standard

.
Wollte damit nur andeuten, dass ich gar nicht so ganz verstanden habe, was du am Ende erwartest.

War vielleicht nicht wirklich erkennbar .. gebsch ma zu .
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.12.2005, 15:41 Nach oben    #7
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

Ich würde gerne mit __sleep() arbeiten.
grade weil ich denke, dass es viele Möglichkeiten der Optimierung gäbe (z.B. dass nur bestimmte Variablen gespeichert werden)
Ich versteh auch eigentlich das System, aber irgendwie funktioniert es nicht.
Nun hoffe ich, dass mir irgendwer sagt, ob ich nun falsch denke oder mir sagt, wie ich es richtig mache, oder sogar beides
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.12.2005, 19:27 Nach oben    #8
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

So,
ich hab mir jetzt noch mal die entsprechende Seite auf php.net angeschaut.
Und dann is mir die Erleuchtung gekommen!
ich hab dauernd gedacht, ich soll einfach die Variablen in nem Array zurückgeben.
Dabei soll ich die Namen als Array zurückgeben. Logisch^^
also so gehts nu endlich:
PHP-Code:
function __sleep() {
    return array(
"db_host""db_name""db_user""db_pass");

hätt ich auch früher drauf kommen können ^^
Naja, nu gehts ja!
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem bei Verarbeitung von Templates (Eigene Klassen) dago PHP-Programmierung 21 31.08.2006 16:02
WhoIs-Abfrage Gast PHP-Programmierung 27 12.06.2006 10:34
PHP FTP function juergreh PHP-Programmierung 2 05.05.2006 11:29
Warum funkt Function nicht? Garnele PHP-Programmierung 3 17.09.2005 07:10


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:31 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45