Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: stdClass
Forum PHP.pl > Forum > PHP
Marek0
1. Co to jest stdClass?
2. Na mojej stronie bawie sie sesajmi, dane sesji wyglądają mniej wiecej tak:

ostatnia_str|s:1:"3";imie|s:5:"Marek";loged|s:1:"1";userid|s:1:"7";

Na moim domowym serwerze wszystko jest ok. Moge normalnie pracować. Jednak gdy wrzuciłem strone na serwer tripod-lycos aby potestować, z moich danych sesji (z tego co wyżej) wyszło coś takiego:

ostatnia_str|s:1;imie|O:8:"stdClass":1:{s:4:"imie";s:5:"Marek";}loged|s:1:"1";userid|s:1:"7";

Nie wie czemu sie tak robi? Serwer wstawia mi to stdClass i psuje pobieranie zmiennej :|

Może mi ktoś powiedzieć co z tym zrobić...
Marek0
Nikt nie potrafi mi odpowiedzieć na pytanie?? :?
borec
moze wiecej szczregolow? naucz sie zadawac konkretne pytania (chyba sie powtarzam :? )
spenalzo
stdClass to jest klasa Zenda. W manualu jest to napisane....
Cytat
Nazwa stdClass jest używana wewnętrznie przez Zend i jest zarezerwowana. W php nie możesz zdefiniować klasy o nazwie stdClass.
Marek0
Pytam sie wieć czy to że mi sie robi to stdClass to jest normalne? Czy jest to wina serwera tripoda? I czy da sie jakoś ustawić sesje żeby się tak nie robiło?
croonx
Z tego co wiem to klasa stdClass tworzy się sama kiedy do nie zainicjowanej wcześniej zmiennej przypisuje się wartości jak do zmiennej która jest obiektem klasy . Wtedy program domyślnie zakłada , że zmienna jest obiektem klasy ale nie zna tej klasy więc tworzy sobie z tej zmiennej obiekt klasy stdClass .
Np. jeśli :

  1. class wspolrzedne
  2. {
  3. public $x;
  4. public $y;
  5. }
  6.  
  7. $punkt= new wspolrzedne;
  8.  
  9. $punkt->x=5;
  10. $punkt->y=5;


To $punkt jest klasy wspolrzedne.

A jeśli :

  1. class wspolrzedne
  2. {
  3. public $x;
  4. public $y;
  5. }
  6.  
  7. $punkt->x=5;
  8. $punkt->y=5;


to $punkt jest klasy stdClass.

Tak jest napisane w manualu.
Cytat
// Używanie obiektu; stworzy nowy obiekt stdClass (zobacz http://www.php.net/manual/pl/reserved.classes.php)
// Zwróci: object(stdClass)#1 (1) { ["foo"]=> string(3) "bar" }
$nieinicjowany_obiekt->foo = 'bar';
var_dump($nieinicjowany_obiekt);
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.