Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zastąpienie sesji - czym najlepiej to zrobić ?
ederlezi
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 17.11.2014

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


Witam,

moja znajomość PHP jest mocno ograniczona i nie chciałbym brnąć ślepo w niewłaściwe rozwiązanie. Mam parser XML , który działa i został napisany przez kogoś innego dość dawno temu. Ten parser składa się z kilkunastu plików , wywoływane są one jeden po drugim. Dane między plikami są trzymane w sesjach. Wszystko jest ok, dopóki wywołam ten parser z przeglądarki internetowej. Muszę go jednak zmienić. Będzie on wywoływany poleceniem GET bez mechanizmu utrzymania sesji.

Moje pytanie brzmi - jak najlepiej zamienić sesje na coś innego, żeby się najmniej napracować ? Mój pierwszy pomysł - przejrzeć wszystkie pliki i tam gdzie są zapisywane zmienne sesyjne , zapisywać zmienne do bazy danych. Tam gdzie są odczytywane zmienne sesyjne - zrobić odczyt z bazy danych. Problem się zaczyna, gdy sesje zawierają np tablice, bo wtedy trzeba by chyba serializować dane przed zapisem i potem odpowiednio deserializować przed odczytem. Jakie podejście zastosować, żeby zrobić to w miarę szybko ? Może istnieje inne - lepsze i szybsze rozwiązanie niż to, które ja wymyśliłem.

Pozdrawiam i dziękuję.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
session
post
Post #2





Grupa: Zarejestrowani
Postów: 112
Pomógł: 22
Dołączył: 11.04.2010
Skąd: Tarnów

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


Cytat
Sesje służą tylko do zapamiętania informacji między skryptami, nie zależy nam na identyfikacji usera.


Tak też się spodziewałem, teraz problem sprowadza się jedynie do tworzenia bazy, zapisania informacji np. wykorzystując JSON (tak samo tworzysz tablicę, do której wrzucasz dane, tylko nie potrzebujesz już ID itd., JSON obsłuży też zmienne tablicowe o których pisałeś). Podmieniasz session-start na funkcjię otwierającą bazę, session-destroy na zamykającą i operujesz na danych.

Cytat
jaka korzyść będzie jeśli wykorzystam bazę opartą o pliki tekstowe vs powiedzmy MySQL


Moim zdaniem nie ma potrzeby wykorzystywać np. MySQL które oferuje wiele operacji, różnego rodzaju pola itd. tylko do przechowywania bliżej nieokreślonych stringów czyli w sumie jedna kolumna. Baza tekstowa wydaje mi się bardziej optymalna, może jest troche trudniejsza w obsłudze, bo trzeba pisać samemu wiele rzeczy, ale za to w MySQL musiałbyś przewidzieć jakiej długości będą stringi itd. chyba że nie masz tego wiele i nie interesuje Cie optymalizowanie to nic nie stoi na przeszkodzie użycia MySQL.

Czyli to co trzeba zrobić to utworzyć tablicę taką jaką jest $_SESSION; użyć JSON i zapisać do bazy. Bazę czyścić z każdym uruchomieniem głównego skryptu. A jeśli skrypty są ze sobą powiązane przez np. include nie potrzebujesz nawet bazy, a możesz użyć zmiennej globalnej.

Ten post edytował session 17.11.2014, 18:12:20
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: 17.10.2025 - 11:13