phpbar.de logo

Mailinglisten-Archive

[php] "Speichern" von $this

[php] "Speichern" von $this

Sebastian Mendel lists at sebastianmendel.de
Mit Apr 6 16:50:41 CEST 2005


Steffen Kother schrieb:
> Hi Sebastian,
> 
> ja "serialize()" ist mir schon klar.
> 
> Hier mal der momentane Code, der natürlich fehlschlägt:
> 
>        if ($useSession == true)
>            if (empty($_SESSION['common'])) {
>                $this->aggClassesPlus($classes, $object);
>                $_SESSION['common'] = serialize($this);

Objekte in $_SESSION brauchen nicht serialisiert zu werden


>            } else {
>                $this = unserialize($_SESSION['common']);

dies würde in PHP5 nicht mehr funktionieren, da kann man $this nicht neu
'belegen'


>                settype($this, 'object');
>            }
>        else $this->aggClassesPlus($classes, $object);
> 
> Er findet sowohl mit "settype()", als auch ohne die benötigten
> Funktionen nicht. Als Fehler bringt er mir "Fatal error: Call to
> undefined function: checkstepvalues()..."
> 
> Diese Funktion steht in der Klasse 'reklamation', die mittels
> Aggregation auf das Objekt der ersten benötigten Klasse vereinigt wird.

du willst das Objekt nur in der Session speichern?
Wieso nimmst du dann nicht einfach

$_SESSION['object'] = new Klasse;

$_SESSION['object'] wird durch PHP automatisch serialisiert beim beenden
des Scripts und de-serialisiert beim weiterführen der Session

oder hab ich was übersehen?


-- 
Sebastian Mendel

www.sebastianmendel.de
www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet

php::bar PHP Wiki   -   Listenarchive