![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 23.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Pytanie trochę banalne, ale jak to jest z singletonami w PHP. Wszyscy klienci strony korzystają z tego samego egzemplarza? Chodzi mi dokładnie o to, czy mogę stworzyć rejestr potrzebnych danych sesji w innych częściach systemu, w którym będę przechowywał id, nazwę użytkownika itd. Wiem, że mogę użyć po prostu $_SESSION, ale chcę żeby o tej tablicy wiedziała tylko klasa odpowiedzialna za autoryzację. Czy mogę w takim przypadku użyć singletona jako reprezentacji klasy SessionRegistry, czy jest to kompletnie bezsensu bo dane te mogą zostać w każdej chwili podmienione przez inne żądanie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 11 Dołączył: 7.04.2003 Ostrzeżenie: (10%) ![]() ![]() |
Cytat Pytanie trochę banalne, ale jak to jest z singletonami w PHP. Wszyscy klienci strony korzystają z tego samego egzemplarza? Nie ma możliwości współdzielenia obiektów pomiędzy klientami. Każdy posiada oddzielny proces i oddzielne obiekty. Niezależnie czy obiekty budowane są na wzorcu Singletona czy nie. Cytat Chodzi mi dokładnie o to, czy mogę stworzyć rejestr potrzebnych danych sesji w innych częściach systemu, w którym będę przechowywał id, nazwę użytkownika itd. Wiem, że mogę użyć po prostu $_SESSION, ale chcę żeby o tej tablicy wiedziała tylko klasa odpowiedzialna za autoryzację. Odwoływanie się bezpośredino do globalnej tablicy $_SESSION jest złą praktyką. Najlepiej stworzyć sobie obiekt odpowiedzialny za obsługę tej że tablicy. Najlepiej aby obiekt ten oparty był na wzorcu Registry lub podobnym. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 15:11 |