Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Serializowanie obiektów i zapisywanie wsesji
propage
post
Post #1





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

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


  1.  
  2. $this->soap = new soapclient($this->conf_url);
  3. $this->soap->soap_defencoding = 'UTF-8';
  4. $this->soap->decode_utf8 = false;
  5.  
  6. $_SESSION['allegro']['soap'] = serialize($this->soap);
  7.  
  8. a potem
  9.  
  10. $this->soap = unserialize($_SESSION['allegro']['soap']);
  11.  
  12.  


Niestety jakie kolwiek odpołania późniejsze do $this->soap powodują błedy - "<b>Warning</b>: SoapClient::__call(): supplied argument is not a valid sdl resource in <b>C:\webserv\httpd-users\iq\class\allegro.php</b> on line <b>283</b><br />"

Ten post edytował propage 6.08.2010, 12:39:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Po tak małym kawałku kodu ciężko jest coś napisać.

Wystartowałeś sesję?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
propage
post
Post #3





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

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


Tak sesja jest
Go to the top of the page
+Quote Post
gothye
post
Post #4





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

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


więc zapisuj na dysku z numerem sid sesji ...


--------------------
Nie udzielam pomocy poprzez PW
Go to the top of the page
+Quote Post
em1X
post
Post #5





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


Chyba koledzy nie rozumieją podstaw serializacji.
Klasa SoapClient nie implementuje magicznych metod __sleep oraz __wakeup, które definiują co obiekt powinien wykonać przed i po serializacji - w tym przypadku ponowne połączenie się z usługą - stąd te błędy.

Proponuję napisanie własnej klasy-otoczki dla klasy SoapClient, która wykorzystująć metodę __wakeup() ponownie połączy się z serwerem allegro.

Ten post edytował em1X 7.08.2010, 14:25:03


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
propage
post
Post #6





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

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


Serializacje tą chciałem zrobić, po to aby nie trzeba było się co chwile łączyć z allegro, więc chyba nie ma to sensu.
Go to the top of the page
+Quote Post
em1X
post
Post #7





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


a kto powiedział, że trzeba się będzie co chwilę łączyć z allegro?

  1. public function __wakeup() {
  2. // ponowne polaczenie z allegro
  3. $this->connect();
  4. }


i będzie można z każdego miejsca korzystać z zalet serializacji


--------------------
eh, co polska wódka to polska wódka
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 Aktualny czas: 21.08.2025 - 13:17