Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 19 Dołączył: 25.04.2009 Ostrzeżenie: (0%)
|
Mam następujący kod:
Kod <?php class MyObj { public $property = 1; } session_start(); // inicjalizacja $obj = new MyObj; $variable = 'a'; // zapis do sesji $_SESSION['obj'] = $obj; $_SESSION['var'] = $variable; // zmiana wartosci $obj->property = 2; $variable = 'b'; // odczyt z sesji $o = $_SESSION['obj']; $v = $_SESSION['var']; // wyjscie echo 'wlasciwosc obiektu: '. $o->property; echo '<br>'; echo 'zmienna: '.$v; a na wyjściu programu: wlasciwosc obiektu: 2 zmienna: a Można zaobserwować, że zwykła zmienna oraz obiekt zachowują się przy zapisie do sesji nieco inaczej. Pytania: 1) Dlaczego nie wyświetliło się wlasciwosc obiektu: 1? 2) Czy zapis obiektu w sesji polega na zapisie w niej referencji do obiektu? 3) Czy w związku z tym można zapisać obiekt w sesji na samym początku skryptu, a potem dowolnie go zmieniać bo i tak wszystkie zmiany zostaną odnotowane w sesji? |
|
|
|
qrzysztof [PHP]Zapis obiektu w sesji. Dziwne zachowanie. 12.06.2014, 23:48:02
nospor Obiekty przekazywa są jako referencje, dlatego zmi... 13.06.2014, 06:46:12
Crozin Technicznie rzecz biorąc nospor trochę rozminą się... 13.06.2014, 07:10:34 
qrzysztof Cytat(Crozin @ 13.06.2014, 08:10:34 )... 13.06.2014, 07:30:52
nospor Czlowiek uzywa skrotu myslowego by nie motac począ... 13.06.2014, 07:15:37
Crozin __sleep() i __wakeup() działają nieco inaczej od i... 13.06.2014, 07:55:42 ![]() ![]() |
|
Aktualny czas: 20.12.2025 - 23:54 |