Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] obiekt klasy do tablicy sesji - problem!
Forum PHP.pl > Forum > Przedszkole
nylon
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
mike
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
NuLL
Cytat
Czy powinienem obiekt jakos serializowac i deserializowac?

Oczywiscie - przeciez po to to jest.
mike
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.