Mailinglisten-Archive |
>>> das hat etwas damit zu tun, wie php objekte in sessions speichert,
>>> dazu gibt es zwei methoden, die du in deinem objekt definieren
>>> solltest, welche sowohl beim beenden des aufrufes des skripts als
>>> auch beim
>>> starten des aufrufes des skripts beim wiederherstellen deines objektes
>>> aufgerufen werden soll, a bissle tricky
>>>
>>> die zwei methoden heissen __sleep() und __wakeup()
>>
>> mir ist neu das man diese Methoden definieren muss! und ich glaube es
>> auch nicht!
>
> Mir ist das ebenfalls neu, dass man das muss.
> Das einzige was für mich logisch bzw. wichtig klingt, ist, dass man
> das Objekt natürlich serialisieren muss, um es in der Session ablegen zu
> können (soweit ich weiß muss man dafür aber nicht explizit serialize()
> aufrufen, falls doch).
>
> afaik werden die Methoden bei der Serialisierung aber nicht
> berücksichtigt und sind weder nach impliziten noch expliziten
> unserialize() wieder verfügbar.
> Der einzige wirkliche Sinn für die Verwendung der angesprochenen
> Methoden wäre für mich, dass man das Problem der fehlenden Methoden
> damit umgehen könnte.
tatsache ist das man sich eigentlich um gar nix kümmern muss bei php
(mit aktueller Version)!!!
myObj.class.php
class myObj { var $myVar = ''; }
s1.php
include 'myObj.class.php';
session_start();
$_SESSION['myObj'] = new myObj;
$_SESSION['myObj']->myVar = 'myValue';
echo '<a href="s2.php">Seite 2</a>';
s2.php
include 'myObj.class.php';
session_start();
echo 'myObj->myVar: ' . $_SESSION['myObj']->myVar;
--
Sebastian Mendel (www.sebastianmendel.de)
*www.warzonez.de* | www.tekkno4u.de | www.nofetish.com
php::bar PHP Wiki - Listenarchive