session data gatаkka

teroristd

Registered
Здравейте, става въпрос за уроците на gatаkka и по специално за database session. Там слагаме едно свойство $sessionData, което в последствие сериализираме и десериализираме. Въпросът ми е за какво се използва (или може да се използва) тази $sessionData? Ще помоля освен обяснение да приложите и кратък пример ако е възможно, също така ако може да кажете нещо и за сериализирането ще ви бъда благодарен, че и то не ми е ясно :oops: .
 
И на мен ми е интересно за какво се използват сесиите в базата данни. Може би за по голяма сигурност, нещо като защита против открадване на сесии/бисквитки. За сериализирането е ясно - 1 поле да може да приема множество стойности като стринг, а след това лесно да се използват в кода като масив.
 
d_badboy каза:
И на мен ми е интересно за какво се използват сесиите в базата данни. Може би за по голяма сигурност, нещо като защита против открадване на сесии/бисквитки. За сериализирането е ясно - 1 поле да може да приема множество стойности като стринг, а след това лесно да се използват в кода като масив.
Освен за сигурност, дава и огромни полета на действие със сесиите. Принципно, позволява ти различни врътки да се правят, не че с Native сесиите не е постижимо, но когато са в базата с данни вие просто по всяко едно време можете да правите каквото си поискате и да е в пъти по-лесно да свързвате даденото приложение с различни търсачки, статистики и прочие. Представете си, че желаете да направите статистика на посещенията. Без проблем с едина count заявка към базата имате вече отговора кой е активен, колко време е бил активен и така нататък. Да и със сесиите предоставено от PHP може да се направи това, но идва момент при който в по-голям проект става по.трудно да се правят всякаквите врътки и промени в глобалната променлива, докато от базата и с нея нещата сработват в пъти по-лесно за обработване. :)
 
Благодаря ви че се включвате по темата, но това не отговаря на въпроса ми. Аз лично не виждам нито смисъл, нито приложение на това свойство, но може би е така защото не съм го разбрал :? .
 
teroristd каза:
Благодаря ви че се включвате по темата, но това не отговаря на въпроса ми. Аз лично не виждам нито смисъл, нито приложение на това свойство, но може би е така защото не съм го разбрал :? .
http://php.chinaunix.net/manual/bg/language.oop.serialization.php
Аз също работя в момента тоест пиша си рамка и ползвам идеи от кодът му. Ако желаеш драскай на лични за въпроси и решения на проблеми :)
 
Да и аз си правя framework и като цяло ползвам неговия код с някои промени които, мисля че ще са по удобни за мен. Ето и какво ми отговори самият той на същия въпрос като, за съжаление аз пак не можах да схвана нещата.

"$sessionData е масив, който държи всички данни за сесията. Когато запишем нещо в сесията, то то се добавя в този масив, и накрая този масив се записва в базата. При следваща заявка, данните записани в базата се взимат и се връщат в този масив, така че кода да може да ги използва.
Сериализирането е процес в който се взимат някакви данни (в случая php масив, но може да е обект) и данните се прехвърлят в текстова форма, така че да може да се запишат във текстови файл или в базата.
Как иначе ще запишеш масив в базата, и най-вече как ще го върнеш от базата, със същите данни, така че за PHP това да е масив, с който може да се работи"

Какви са тези данни? Аз винаги получавам някакъв празен масив, който нито разбирам как да извлека и обработя, нито виждам ползата от него.

Ето какво влиза в базата данни a:0:{} за мен това е супер неразбираемо.
 
teroristd каза:
Да и аз си правя framework и като цяло ползвам неговия код с някои промени които, мисля че ще са по удобни за мен. Ето и какво ми отговори самият той на същия въпрос като, за съжаление аз пак не можах да схвана нещата.

"$sessionData е масив, който държи всички данни за сесията. Когато запишем нещо в сесията, то то се добавя в този масив, и накрая този масив се записва в базата. При следваща заявка, данните записани в базата се взимат и се връщат в този масив, така че кода да може да ги използва.
Сериализирането е процес в който се взимат някакви данни (в случая php масив, но може да е обект) и данните се прехвърлят в текстова форма, така че да може да се запишат във текстови файл или в базата.
Как иначе ще запишеш масив в базата, и най-вече как ще го върнеш от базата, със същите данни, така че за PHP това да е масив, с който може да се работи"

Какви са тези данни? Аз винаги получавам някакъв празен масив, който нито разбирам как да извлека и обработя, нито виждам ползата от него.

Ето какво влиза в базата данни a:0:{} за мен това е супер неразбираемо.
Когато извеждаш от базата въпросният записан масив, който има някакви стойности, то той се unserialize и се ползва по същият начин по какъвто си го ползвал и преди. :) Явно ти не правиш нещо като хората.
 

Back
Горе