Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> __destruct, zasada dzialania...
goffyy
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 8.02.2005

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


Mam troche moze glupie pytanie ale nie dziala mi jedna rzecz i zastanawiam sie dlaczego.

Mam klase w ktorej jest zdefiniowana funkcja __destruct(). Niestety podczas konczenia wykonywania sie skryptow funkcja ta nie zostaje wywolana pomimo ze klasa o ktorej mowa zostala wykorzystana. Mam wiec pytanie czy dziala to na wszystkich wersjach php5 (o ile mi wiadomo to tak) i czy przy konczeniu programu wywoluje sie ta procedura automatyczna czy trzeba zrobic przykladowo unset($jakasklasa) - co tez u mnie nie dziala (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Z gory dzieki za podpowiedz.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




a ja wiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Dekstruktor jest generalnie zawsze wykonywany, ale jest z nim sporo problemow...

http://www.zyxist.com/pokaz.php/glupi_blad_php
O tu. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Zeby sprawdzic czy sie wlacza zrob po prostu

  1. <?php
  2. function __destruct() {
  3. // echo nie bedzie widac, poniewaz dekstuktor
  4. // zazwyczaj jest odpalany po skonczeniu przesylania danych do klienta http (czyli nie widzi juz tego)
  5. echo "wychodze";
  6. // Zdebugujemy to tak
  7.  
  8.  
  9. [b]file_put_contents( './test.txt', 'Desktruktor, uruchomiony'.date('d.m.Y h:i:s' ) );
  10. [/b]
  11. if ($this->dirty) $this->save();
  12. }
  13. ?>
Go to the top of the page
+Quote Post

Posty w temacie
- goffyy   __destruct   24.08.2006, 16:23:32
- - nasty_psycho   tak dziala na wszystkich php5, podaj moze kod ?   24.08.2006, 16:28:10
- - goffyy   Kod jest banalny: [PHP] pobierz, plaintext <?p...   24.08.2006, 16:33:46
- - nasty_psycho   a napisz echo $this->dirty... boc cos mi t...   24.08.2006, 16:42:10
- - goffyy   Probowalem ale nawet jak dasz jakies echo na pocza...   24.08.2006, 16:46:25
- - nasty_psycho   nic nie wyswietla, bo nic niema w tej zmiennej, w ...   24.08.2006, 16:47:40
- - goffyy   Caly kod klasy: [PHP] pobierz, plaintext <?php...   24.08.2006, 16:55:32
- - nasty_psycho   no pewnie ze nic nie zrobi bo nigdze nie przydziel...   24.08.2006, 17:01:24
- - goffyy   Jest ustalana na true tutaj: [PHP] pobierz, plain...   24.08.2006, 17:02:48
- - nasty_psycho   jesli ta funkcje wywolujesz, to powinno dzialac, j...   24.08.2006, 17:06:29
- - goffyy   ja tez nie wiem wlasnie musze do admina napisac b...   24.08.2006, 17:12:12
- - nasty_psycho   admin tu ci nic nie pomoze, nie zawracaj mu glowy   24.08.2006, 17:14:40
- - hwao   a ja wiem Dekstruktor jest generalnie zawsze wyk...   24.08.2006, 18:56:58
- - goffyy   Masz racje Tylko ze u mnie nie dizala na razie w ...   24.08.2006, 19:51:57
- - mariuszn3   goffyy destruktor zawsze jest odpalany i nie jest ...   25.08.2006, 13:20:21
- - goffyy   teoretycznie to i ja wiem ze tak powinno byc gorze...   25.08.2006, 18:03:24
- - splatch   Może to głupie pytanie.. ale masz jakąś instancje ...   25.08.2006, 18:21:47
- - nasty_psycho   a wez w construct napisz : [PHP] pobierz, plaintex...   25.08.2006, 18:22:35
- - goffyy   W ten sposob dziala wszystko poprawnie a wiec to w...   25.08.2006, 20:51:43
- - Cysiaczek   Możesz pokazac klasę bazową?   25.08.2006, 21:49:58
- - goffyy   To jest prosta klasa abstrakcyjna: [PHP] pobierz,...   25.08.2006, 22:20:07
- - Cysiaczek   Hmm... jakbym nie kombinował i tak zawsze jest ok....   25.08.2006, 22:44:26
- - goffyy   Niestety to jednak php bo ja tylko ta klase do pli...   25.08.2006, 23:13:44
- - drizzt73   ja mialem takie jaja z destruktorami kiedy wewnatr...   29.08.2006, 21:49:36


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: 16.10.2025 - 15:18