Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Session handler, Czy opłaca się trzymać osobno zmienne?
Prph
post
Post #1





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

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


Witam,

W PHP5 zaawansowane programowanie autorzy przedstawili mechanizm obslugi sesji, ktory trzymal zmienne w osobnej tabeli. Dzieki tezmu wydajnosc miala nieco wzrosnac.

Takie rozwiazanie jednak ma pewna wade - zmienne pobierane za z sesji poprzez metody __get i __set, nie zaś $_SESSION['zmienna'];

W chwili obecnie przysparza mi to więcej problemów niż mogłem to sobie wyobrazić.

Jak Wy organizujecie session handlera? Jest sens dzielenia sesji na zmienne i info o sesji?

Pozdrawiam,
Adrian.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Prph
post
Post #2





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

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


A dlaczego?
Takie rozwiązanie jest wygodne. Jeżeli spojrzysz na to w ten sposób, że zalogowany user to przecież też sesja, tyle że lepsza (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) to można przyjąć, że logowaniem zajmie sie obiekt sesji.

Co prawda chciałem przeniesc logowanie do klasu Auth, ale pojawiłby się mały problem - info, czy użytkownik jest zalogowany powinno być trzymane w obiekcje sesji. Natomiast, jezeli logowala by klasa Auth to musialaby poinformowac obiekt sesji, ze user jest zalogowany. Jak dla mnie to jedyne rozwiazanie takie: $oSession->setUserLoggedIn(true); a to oznacza, ze metoda jest publiczna. Oczywiste jest, ze nie powinna byc publiczna :/

Jezeli przeniose login do klasy sesji to problem znika. A z racj, z jednak bardziej intuicyjne wydaje sie logowanie w klasie Auth, Auth posiada metoda login taka:

  1. <?php
  2. public function login($l, $p)
  3. {
  4. $this->oSessInstance->login($l, $p);
  5. }
  6. ?>


Pozdrawiam.


}
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: 26.12.2025 - 21:29