Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sterownik bazy danych + sesje
PrzemoN
post
Post #1





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

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


Witam serdecznie wszystkich,

Moj problemik wyglada nastepujaco

Mam dwie klasy sql oraz session
Jak nietrudno sie domyslic pierwsza do obslugi SQL (dokladnie PgSQL) a druga do obsługi sesji.
I teraz pytanko klasa session dziedziczy z klasy sql (klas sql jest matka).

Destruktor klasy sql konczy poloczenie z baza danych
  1. <?php
  2.  
  3. public function __destruct() {
  4. if(is_resource($this -> link))
  5. {
  6. pg_close($this -> link);
  7. }
  8. }
  9.  
  10. ?>


Destruktor klasy session ma uaktualnic istniejaca sesje jesli zostana spelnione odpowiednie warunki.
  1. <?php
  2.  
  3. public function __destruct() {
  4. if($this->action == UPDATE) {
  5. globa $db;
  6. $sql = 'UPDATE sessions SET id = ''.$this->session_id.'', time='.time().' WHERE id=''.$this->session_id.
  7. ''';
  8. $db->query($sql); // metoda query jest z klasy sql ( obsluguje zapytania SQL-owe)
  9. }
  10. }
  11.  
  12. ?>


Problem jest w tym ze destroktor w klasie sql zamyka mi to poloczenie jako pierwszy. I wówczas destruktor w klasie sesii nie jest wstanie wykonac metody query(wchodzacej w sklad sql).
Poniewaz poloczenie z baz zostalo przerwane (zrobil to destruktor w klasie sql).

Pytanie: Jak zrobic zeby naiperw wykonal sie destruktor klasy sesion (dziedziczaca) a pozniej destruktor klasy sql (i czy tak wogle da sie zrobic).

PS: W chwili obecnej udalo mi si to obejsc w ten sposób ale szukam innego rozwiazania
  1. <?php
  2.  
  3. public function __destruct() {
  4. if($this->action == UPDATE) {
  5. $new = new sql(); // TUTAJ JESZCZE RAZ LACZE SIE Z BAZA
  6.  // tworzae nowe poloczenie z baza danych i tym sposobem to dziala
  7.  $sql = 'UPDATE sessions SET id = ''.$this->session_id.'', time='.time().' WHERE id=''.$this->session_id.
  8. ''';
  9. $new->query($sql); // metoda query jest z klasy sql ( obsluguje zapytania SQL-owe)
  10.  
  11. }
  12. }
  13.  
  14. ?>


Za wszelkie sugestie dzieki z gory smile.gif.


//edited by DeyV - Używj tagu php
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 11:20