Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> czas życie obiektu ?
adamos
post
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 22.02.2004
Skąd: Warszawa

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


Witam
W php5 od jakiegos czasu pisze obiektowe. Jenak mam pytanie. Wiem ze obiekt jest czyszczony po zakonczeniu skryptu. A czy istnieje mozliwosc przeslania obiektu np. do innej strony do ktorej przechodzi sie za pomoca linka (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Chodzi mi o caly obiekt a nie tylko jego wlasciwosci.

W JSP jest to zrobione tak ze we wlasciwosciach samego obiektu ustawia sie jego czas zycia np. na czas trwania sesji.
W php5 chyba jest to dosc ograniczone (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
CZy moze myle sie i jest jakies rozwiazanie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bregovic
post
Post #2





Grupa: Zarejestrowani
Postów: 562
Pomógł: 15
Dołączył: 8.08.2003
Skąd: Denmark/Odense

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


Hmmm... Nie zeby to bylo jakies szczegolnie dobre rozwiazanie, ale mozesz pod koniec dzialania programu zserializowac obiekt (serialize" title="Zobacz w manualu PHP" target="_manual) i zachowac go w sesji. Potem na innej stronie na poczatku programu sprawdzasz czy zmienna jest ustawiona (empty" title="Zobacz w manualu PHP" target="_manual) i jesli nie jest pusta to rozserialuzujesz ja - unserialize" title="Zobacz w manualu PHP" target="_manual.
Algorytm moze zdaje sie wygladac tak:
plik1.php:
  1. <?php
  2.  
  3. //start sesji
  4.  
  5. //inkludujemy klase
  6. include 'clasa.obiektu.php';
  7.  
  8. //sprawdzamy czy przeslalismy juz obiekt
  9. if(!empty($_SESSION['obiekt']))
  10. {
  11. //jesli tak to rozserializujemy go
  12. $objekt = unserialize($_SESSION['obiekt']);
  13. }
  14. else
  15. {
  16. //jesli nie to inicializujemy obiekt
  17. $obiekt = new Obiekt;
  18. }
  19.  
  20. //logika...
  21.  
  22. //serializujemy pod koniec programu
  23. $_SESSION['obiekt'] = serialize($obiekt);
  24.  
  25. ?>

Zaznaczam ze tego nigdy nie uzywalem, i pisalem powyzsze z palca.

Ten post edytował bregovic 8.10.2004, 12:08:14
Go to the top of the page
+Quote Post

Posty w temacie


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.10.2025 - 02:49