Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Powiązanie klasy User z klasą obsługi sesji
czarek1986
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 15.09.2008

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


Witam.


Pisze moją pierwszą aplickację uzywając oop. Chciałem zapytać was o radę. Nie wiem jaki będzie najlepszy sposób na powiązanie klasy obsługi sesji z klasą uzytkownika. Czy mam tworzyc za kazdym razem obiekty obydwu klas oddzielnie, czy moze przy tworzeniu obiektu uzytkownika np. w jego konstruktorze bedzie tworzony tez obiekt sesji.? A może zastosowac tutaj dziedziczenie? Do tego ostatniego rozwiązania nie jestem przekonany bo mimo ze klasy są ze sobą powiązane to oznaczają coś kompletnie innego. Chyba ze sie mylę i dziedziczenie bedzie tutaj poprawne.


Prosze o jakieś rady

Ten post edytował czarek1986 8.08.2009, 01:36:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LBO
post
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


Cytat(czarek1986 @ 8.08.2009, 02:36:18 ) *
Witam.

Pisze moją pierwszą aplickację uzywając oop. Chciałem zapytać was o radę. Nie wiem jaki będzie najlepszy sposób na powiązanie klasy obsługi sesji z klasą uzytkownika
Czy mam tworzyc za kazdym razem obiekty obydwu klas oddzielnie, czy moze przy tworzeniu obiektu uzytkownika np. w jego konstruktorze bedzie tworzony tez obiekt sesji.? A może zastosowac tutaj dziedziczenie? Do tego ostatniego rozwiązania nie jestem przekonany bo mimo ze klasy są ze sobą powiązane to oznaczają coś kompletnie innego. Chyba ze sie mylę i dziedziczenie bedzie tutaj poprawne.


Prosze o jakieś rady


Chcesz czy nie chcesz, obiekt Usera i obiekt odpowiedzialny za sesję (nazwijmy go Managerem) są dwoma osobnymi obiektami, które powinny być dostępne w systemie jednocześnie. Od tego stwierdzenia już prosta droga do tego, że obiekt Usera (i każdy inny, który używa sesji) powinien zawierać w sobie ten obiekt Managera i używać go wedle potrzeb.

  1. // inicjujemy managera sesji np jakiegoś configu
  2. $sessionManager = new SessionManager; // używa domyślnego plikowego przechowywania sesji.
  3.  
  4. // LUB
  5.  
  6. // używa przechowywania sesji w Bazie danych. To jest abstrakcyjne podejście - Manager
  7. // jest nakładką na zapytania do bazy i można go wykorzystać bezpośrednio ze standardowym SQL.
  8. $sessionManager = new DatabaseSessionManager($databaseName, $multiDatabaseManager);
  9.  
  10.  
  11.  
  12.  
  13.  
  14. // inicjujemy usera
  15. $sessionUser = new SessionUser($sessionManager);


Jak widzisz - jest trochę sposobów.

Ten post edytował LBO 8.08.2009, 07:36:55
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: 6.10.2025 - 01:23