daniel1302
21.08.2008, 16:28:04
Witam ma mproblem jak zrobić aby nie być zależnym np od MYSQLA w mojej klasie sesji(pisana do frameworku), gdzie przechowywać dane.
Prawie żaden framework niema systemu SESJI patrzyłem w zend ale tam jest tak namieszane ze hej(jest za duzy)
franki01
21.08.2008, 16:34:03
Serwer przechowuje dane wbudowanych sesji w plikach. Ci tak samo bym radził. Mogą przydać się do tego funkcje
serialize" title="Zobacz w manualu PHP" target="_manual i
unserialize" title="Zobacz w manualu PHP" target="_manual dla zapisywania i odczytania danych z sesji. Musisz jeszcze pamiętać o odpowiednim chmodzie (0777) dla katalogu z sesjami. Pliki mogą się nazywać, np
ses_sessionname_kluczsesji, gdzie sessionname to nazwa sesji, a kluczsesji, to wygenerowany losowo klucz. Wbudowany system sesji w PHP nie używa sessionname i nazywa pliki bodajże ses_kluczsesji.
daniel1302
21.08.2008, 16:36:04
Dziękuje czekam na inne propozycje
dr_bonzo
21.08.2008, 16:42:00
Porzuc $_SESSION, skoro budujesz FW.
Ja tak zrobilem, w ogole nie korzystam z tej zmiennej.
Robisz klase Session ktora TYLKO trzyma dane [wrapper na tablice].
I klase SessionSaver + jej podklasy MySQLSessionSaver, FileSessionSaver (potem tylko wymieniasz teog savera i reszta nadal dziala), ktora TYLKO zapisuje dane pobrane z obiektu klasy Session [zwykla tablica + serialize]
edit: oczywiscie dochodzi do tego problem przekazywania ciacha sesyjnego, samodzielnego wczytywania sesji i zapisu
daniel1302
21.08.2008, 16:47:00
Ja czytałem gdzieś iż elementy Frameworka powinny być do użycia na każdym serwie więc chyba zastosuje wasze oba pomysły Zrobię klase abstrakcyjną i dziedziczące po niej klasy FileSessionSave oraz MysqlSessionSaver
Podziękowania lecz chętni mogą podawać pomysły