Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Sesja, a obiekt, czy można obiekt zapisać w sesji ?
arszawin
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 1.07.2008

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


  1. $_SESSION[temp] = new Obiekt();
  2. $_SESSION[temp]->metoda();


Czy taki zapis jest poprawny? Nie wiem dlaczego pojawia się błąd:
Cytat
Fatal error: main() [<a href='function.main'>function.main</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition &quot;Kupon&quot; of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in


Ten post edytował arszawin 9.08.2010, 23:08:17
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




To co miałeś na początku było dobre. Problem polega na tym, że próba odserializowania ciągu w innym skrypcie nie powiodła się ponieważ plik z potrzebną klasą nie został dołączony do skryptu.
Przykład
  1. class test
  2. {
  3. public function foo(){ return 'foo'; }
  4. }
  5.  
  6. $test = new test();
  7. $_SESSION['test'] = $test;



Drugi skrypt
  1. require_once 'test.php'; // sama definicja klasy test
  2. $_SESSION['test']->foo();

Zadziała już ok. Można z tego problemu wybrnąć poprzez stosowanie autoloaderów.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 28.12.2025 - 17:54