Mailinglisten-Archive |
>Ich habe eine Klasse, die ich in einem Skript initialisiere: > >$mySession =3D new session; > >In dieser Klasse existiert ein Array namens "pagevars", auf die ich von >aussen mit $mySession->pagevars[test] zugreifen kann. Dieses Array soll >in der Session gespeichert werden, damit ich sp=E4ter wieder >darauf zugreifen kann. > >Wie mache ich das am sinnvollsten? >Am liebsten w=E4re es mir, ich k=F6nnte innerhalb des Objektes das Array= in >der Session speichern und wiederherstellen. Oder muss ich das ausserhalb >machen?=20 Nein.=20 Oh, warte, nicht da=DF wir uns mi=DFverstehen: ich hab' Dein Beispiel nochmal gelesen: Ich glaub nicht, da=DF Du > session_register("pagevars"); machen kannst, also nur einen Teil des Objektes speichern - $pagevars m=FC=DFte dann schon eine eigenst=E4ndige Variable sein, denke ich, denn = es mu=DF ja darauf eine Referenz erstellt werden. >Kann ich das ganze Objekt speichern?=20 Ja, siehe oben, ich denke, das mu=DFt Du sogar. >Wenn ja, muss ich es dann jedesmal neu initialisieren (mit $mySession =3D= new session),=20 >wenn ich das Skript neu aufrufe=20 Nein. >oder sind dann alle Methoden und Variablen in dem >Objekt gespeichert?=20 Du mu=DFt die class-definition in dem script verf=FCgbar haben, wo Du mit session_start die Variable wieder zug=E4nglich machen willst. >Muss ich jedesmal, wenn ich das Skript lade, die >Variablen mit session_register() neu in der Session abspeichern, oder >nur einmal? nur einmal, danach machst Du ein session_start und die Variable ist wieder da. >Also z.B. so? include_once('mySession-class.php'); >if (!session_is_registered('mySession')) { $mySession =3D new session; > session_register('mySession'); } else session_start(); >Oder kann ich session_register() problemlos bei jedem Start des Skriptes >mit aufrufen? Hab' ich nicht ausprobiert. >Ich glaube, ich kapiere die Sessions nie ... aber ich muss leider durch. Eigentlich ist's ganz einfach, Deine Fragen sind genau die, die ich mir auch gestellt hatte - die halbe Miete ist schon drin :-) >Kann mir das ganze verst=E4ndlich erkl=E4ren? War das verst=E4ndlich genug? Sonst frag' gern nochmal nach ... Ach ja, kleine Anmerkung: $mySession ist ja dann (wahrscheinlich, abh=E4ngig vom namespace, in dem Du session_start bzw. session_register aufrufst) eine globale Variable, die Du in Funktionen mit=20 global $mySession; bekannt machen mu=DFt - hat mich mal 'ne Weile gekostet, obwohl's ja eigentlich klar ist ... --- Thomas Beckmann, Kiel, Germany beckmann_(at)_gis.de
php::bar PHP Wiki - Listenarchive