![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 13.11.2005 Skąd: opole Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Otóż mam takie pytanie bardziej natury sensu przechowywania obiektu typu mysqli w sesji. Chodzi o to, że pisząc skrypty w pracy natknąłem sie na pewien problem dostępu do obiektu mysqli stworzonego poza klasą w odrębnym pliku includowanym na początku skryptu, by można było z niego korzystać trzeba za każdym razem ten plik załączać (rzecz jasna). Stwierdziłem, że można by obiekt taki zapisać w zmiennej sesyjnej np $_SESSION['mysqli'] ![]() Teraz pytanie czy ktoś coś takiego robił i na jakie problemy się natknął? Drugie to jak można (czy można) odnieść się do obiektu z wewnątrz klasy (szukałem już tego ale niestety). |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Można zapisać do sesji przez serializację. Potem odserializować aby była możliwa dalsza praca.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 18.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Najprosciej zrobisz to tak:
0. tworzysz session 1. tworzysz objekt po raz pierwszy w momencie kiedy go bedziesz potrzebowal 2. wywolujesz serialize do jakiejs zmiennej w session 3. w momencie przeladowywania strony sprawdzasz cze istnieje objekt pod okreslonym kluczem w sesji, jesli tak do go pobierasz przypisujac do dowolnej zmiennej korzystajac z funkcji unserialize pozdro -------------------- Code developer
tel.: +39.041.2750223 mob.: +39.340.5081178 e-mail: m.luberda@arzanadv.it Arzanà S.r.l. - web marketing - komunikacja - serwisy www |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 13.11.2005 Skąd: opole Ostrzeżenie: (0%) ![]() ![]() |
czy ta serializacja jest konieczna?
ja robiłem tak
potem odczyt w dowolnym miejscu
rozumiem, że serializując ten obiekt zatrzymuje strukturę obiektu ale czy jak tego nie zrobię może się coś stać ? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Dane z tablicy superglobalnej $_SESSION są serializowane automatycznie.
Zresztą sprawdź miejsce w którym one są składowane zobaczysz charakterystyczny ciąg zserializowanych danych. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 13.11.2005 Skąd: opole Ostrzeżenie: (0%) ![]() ![]() |
Jest jakiś sposób na utrzymanie tego połączenia z bazą poprzez zapisanie obiektu w sesji?
Idea była taka, że zapisuje połączenie z bazą w sesji i wykorzystuje go na każdej stronie bez załączania za każdym razem pliku z który tworzy to połączenie, jednak jak przechodzę na inna stronę to połączenie jest gubione :/ Albo czy jest jakiś sposób do odniesienia się do obiektu mysqli utworzonego poza klasą w jej wnętrzu bez przekazywania obiektu mysqli do klasy za pomocą konstruktora? Ten post edytował exman 4.10.2007, 10:07:43 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 0 Dołączył: 27.03.2007 Skąd: Osiek almost City ;-D Ostrzeżenie: (0%) ![]() ![]() |
Obuduj klasę mysqli m.in. w metody __sleep() i __wakeup() o ile dobrze pamiętam.
http://www.devshed.com/c/a/PHP/Working-wit...Objects-in-PHP/ kilka stron o tym masz. -------------------- "Hmmm, na wakacje trzeba będzie zacząć zarabiać, co nie? ;-] GTA IV się coraz bardziej zbliża... ;-]"
To się nazywa częsty update sygnaturki. ;-) |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
pbnan tam raczej opisane jest jak zapisywac serializowane obiekty w bazie, a nie identyfikator polaczenia z baza.
Nie jestem pewien ale wydaje mi sie ze identyfikator polaczenia wazny jest tylko do czasu az skrypt sie wykona i za kazdym nowym requestem trzeba polaczenie z baza ponawiac aby uzyskac swiezy identyfikator (po to magiczna metoda __wakeup() w php5) -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 02:07 |