Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> unserialize i $this, kopiowanie obiektów?
intol
post
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 1
Dołączył: 29.07.2003

Ostrzeżenie: (10%)
X----


Napisałem sobie klasę, która poprzez funkcję Get (która tam robi parę różnych rzeczy), wyciąga z sesji obiekt. Funkcja wyglada tak:

  1. <?php
  2.  function Get(){
  3. if(isset($_SESSION['user'])){
  4.  $obj = unserialize($_SESSION['user']);
  5. $this = $obj;
  6.  }
  7.  else{
  8.  #coś innego
  9.  }
  10.  } 
  11. ?>


Chodzi o linijkę: "$this = $obj;". Nie działa ona oczywiście. Jak mam skopiować obiekt $obj na obiekt wskazywany przez $this?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
bela
post
Post #2


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


  1. <?php
  2. function Get(){
  3. static $instance = null;
  4. if(isset($_SESSION['user'])){
  5. $instance = unserialize($_SESSION['user']);
  6.  
  7. }
  8. else{
  9. #coś innego
  10. }
  11.  return $instance;
  12. }
  13. ?>


może coś takiego ?
Go to the top of the page
+Quote Post
SongoQ
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


O ile pamietam to zeby zrobic unserializacje obiektu to musisz w miejscu w ktorym chesz unserializowac obiekt musisz miec klase, bo inaczej nie przejdzie.

Oczywiscie klasa musi byc ta sama co robiles serializacje.
Go to the top of the page
+Quote Post
intol
post
Post #4





Grupa: Zarejestrowani
Postów: 110
Pomógł: 1
Dołączył: 29.07.2003

Ostrzeżenie: (10%)
X----


No jeżeli robię to jako funkcję składową tej samej klasy, w której robię unserialize, to klasa jest znana wtedy...

Chyba fałszywy alarm, a problemu nie było. W składowej klasy miałem referencję do aktualnego połączenia z bazą danych, która to wartość musi być przecież cały czas uaktualniana (nie może być przenoszona przez sesję).

Ten post edytował intol 6.12.2004, 21:45:08
Go to the top of the page
+Quote Post

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: 24.08.2025 - 21:27