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.
// inicjujemy managera sesji np jakiegoś configu
$sessionManager = new SessionManager; // używa domyślnego plikowego przechowywania sesji.
// LUB
// używa przechowywania sesji w Bazie danych. To jest abstrakcyjne podejście - Manager
// jest nakładką na zapytania do bazy i można go wykorzystać bezpośrednio ze standardowym SQL.
$sessionManager = new DatabaseSessionManager($databaseName, $multiDatabaseManager);
// inicjujemy usera
$sessionUser = new SessionUser($sessionManager);
Jak widzisz - jest trochę sposobów.