phpbar.de logo

Mailinglisten-Archive

[php] objekte in sessions

[php] objekte in sessions

Sebastian Mendel lists at sebastianmendel.de
Fre Apr 15 13:11:54 CEST 2005


Norbert Pfeiffer schrieb:
> Hi Sebastian,
> 
> 
>>Norbert Pfeiffer schrieb:
>>
>>>Sebastian Mendel schrieb:
>>>
>>>>du meinst wohl:
>>>>if ( ! isset( $_SESSION['obj'] ) )
>>>>{
>>>>   $_SESSION['obj'] = new test();   <-- HIER
>>>>   $_SESSION['obj']->var = 20;
>>>>}
>>>>denn er will ja das Objekt in der Session
>>>>und nicht nur die Eigenschaft!
>>>
>>>hmm,
>>>womit Du nachgewiesen hast, dass es Unfug ist,
>>>Objekte in der Session speichern zu wollen !
>>
>>Wo?
> 
> dorten:  <-- HIER

über die Funktion von 'if' müssen wir ja nun nicht diskutieren oder?


>>>Weil:
>>>Man muss im aufgerufenen Script das Objekt komplett
>>>neu erstellen und die Werte erneut zuweisen.
>>
>>Nur wenn es nicht schon vorhanden ist in der Session,
>>also genau einmal, beim Start einer neuen Session.
> 
> falsch,
> mit dem Scriptende ist alles definitiv weg !

achso, das ist alles ein riesen Fake mit den Sessions, 50 Handbuch
Seiten über Sessions ein April-Scherz?



> Natuerlich kann man sich eine Object-ID, oder einen
> Ressourcen-Locator merken, aber das Object oder die
> Ressource existiert beim Scriptstart nicht mehr !
> Genau deshalb hast Du es ja auch neu instantiiert.

Sorry Norbert, aber das ist jetzt nicht wirklich dein Ernst oder?


<?php
class meineKlasse { var $eigenschaft = 0; }

session_start();

if ( ! isset( $_SESSION['objekt'] ) )
{
    echo 'Lege Objekt in Session an.' . "<br />\n";
    $_SESSION['objekt'] = new meineKlasse;
    echo 'Eigenschaft: ' . $_SESSION['objekt']->eigenschaft . "<br />\n";
}
else
{
    echo 'Objekt existiert bereits in Session.' . "<br />\n";
    echo 'Eigenschaft: ' . $_SESSION['objekt']->eigenschaft . "<br />\n";
}

$_SESSION['objekt']->eigenschaft = 'blahblahblah';
?>


29.13. Wie speichere ich Objekte in Sessions?
   http://www.php-faq.de/q/q-sessions-objekte.html


-- 
Sebastian Mendel

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

php::bar PHP Wiki   -   Listenarchive