Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] obiekt klasy do tablicy sesji - problem!, $_SESSION['klasa']
nylon
post 24.03.2006, 16:18:09
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 30.10.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Czesc Wszystkim.

Mam problem z wrzucaniem obiektow do tablicy sesji

Tworze obiekt klasy:
  1. <?php
  2.  
  3.  $klasa = new Klasa();
  4. //czy ma znaczenei referencja = &new Klasa(); questionmark.gif
  5.  
  6. ?>


nastepnie wrzucam go do sesji:
  1. <?php
  2.  
  3. $_SESSION['klasa'] = $klasa;
  4.  
  5. ?>


i przy kolejnym wywolaniu strony chce go odczytac,
wiec sprawdzam warunki, ktorych obiekt nie przechodzi,
czyli:

  1. <?php
  2.  
  3.  empty($_SESSION['klasa'])
  4. //daje TRUE
  5.  
  6. !isset($_SESSION['klasa'])
  7. //tez daje TRUE, czyli kupa
  8.  
  9. ?>


Co robie zle?
Czy ta referencyjnosc ma znaczenie?
Czy powinienem obiekt jakos serializowac i deserializowac?

Prosze o pomoc


--------------------
xurl | puste frazesy | kareel | ulx | zobacz więcej | porady podatkowe | niech o tobie gadają
Go to the top of the page
+Quote Post
mike
post 24.03.2006, 17:37:46
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


1. A gdzie jest start sesji? Bo jakoś mi wywołanie session_start() umknęło.
2. Jak zapisujesz obiekty do sesji to przy ich odczycie pamiętaj aby definicja klasy była znana zanim wyciągniesz obiekt z sesji.
3. Złe forum. Przenoszę na Przedszkole
Go to the top of the page
+Quote Post
NuLL
post 24.03.2006, 19:09:53
Post #3





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


Cytat
Czy powinienem obiekt jakos serializowac i deserializowac?

Oczywiscie - przeciez po to to jest.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
mike
post 24.03.2006, 19:33:31
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(NuLL @ 2006-03-24 19:09:53)
Oczywiscie - przeciez po to to jest.

Nie trzeba tongue.gif
Tablice i obiekty, które lecą do sesji są serializowane automatycznie.

  1. <?php
  2.  
  3. error_reporting( E_ALL );
  4. ini_set( 'display_errors', 1 );
  5.  
  6. class Klasa
  7. {
  8.     private $strVar;
  9.  
  10.     public function __construct( $strVar = 'value' )
  11.     {
  12.         $this->strVar = $strVar;
  13.     }
  14. }
  15.  
  16.  
  17. if( ! empty( $_SESSION[ 'obiekt' ] ) && is_object( $_SESSION[ 'obiekt' ] ) )
  18. {
  19.     echo '<pre>' . print_r( $_SESSION[ 'obiekt' ], true ) . '</pre>';
  20. }
  21. else
  22. {
  23.     $objObiekt = new Klasa( 'test' );
  24.     $_SESSION[ 'obiekt' ] = $objObiekt;
  25.  
  26.     echo 'Utworzono nowy obiekt.';
  27. }
  28.  
  29. ?>


--------NuLL----------
Hyhy - ja pisze w php od PHP3 - kiedys kazali serializowac - cóż - stare nawyki rolleyes.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:12