Cytat
Zawsze uczono mnie (głównie te forum), że należy ograniczać ilość danych przechowywanych w sesji.
Dlatego też zawsze się tego trzymałem - nawet nie przechowuje typu konta (admin i nie admin) w sesji ale sprawdzam po ID zalogowanego czy ma admina..
Jesteś w stanie podać mi jakiś rozsądny argument stojący za tym, żeby nic nie trzymać w sesji? Czy mam rozumieć, że jak chcesz zrobić coś tak banalnego jak "Witaj, użytkownik" to przy każdym odświeżeniu strony pobierasz to z bazy i wykonujesz zbędę zapytania? Poza tym warto zdefiniować tą "ilość danych", przecież taka tablica to może będzie 5KB danych, nie mówimy tu o jakichś szalonych pomysłach przechowywania w sesji zrzutu całej tabeli tylko o kilkudziesięciu linijkach a to tyle co nic. Sesje są bardzo przydatne w nie których przypadkach i warto je używać i jak dla mnie to jest właśnie jeden z takich przypadków. Z kwestii bezpieczeństwa nie przechowuje się w sesji żadnych haseł, ale inne dane to już spokojnie można.
Cytat
musiałbym oprócz aktualizacji w bazie dokonać aktualizacji sesji.
Nie wiem.. Jak ja bym takie coś zobaczył w cudzej aplikacji to bym się mocno zdziwił, nigdy nie widziałem takiej metody.
Nigdy nie widziałeś, żeby obiekt w swojej metodzie wywołał metodę innego obiektu?
Odwołując się jeszcze do jednego z Twoich poprzednich postów to to czy dane warto trzymać w sesji, zależy jeszcze od tego jak często będą aktualizowane - sesje świetnie się nadają do danych: spersonalizowanych, tymczasowych i obowiązujących w trakcie jednej sesji użytkownika. Ale np. do statystyk to już nie za bardzo, chyba, że są to takie statystyki, które nie zmienią się w czasie odwiedzin.