Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> __desctruct() jak?
eS...
post
Post #1





Grupa: Zarejestrowani
Postów: 367
Pomógł: 2
Dołączył: 4.03.2003
Skąd: C:/Windows/Temp

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


mam taka marna klase (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) i zastanawiam sie jak uzyc __destruct
  1. <?
  2. class BD {
  3. var $host = '';
  4. var $user = '';
  5. var $pass = '';
  6. var $dbname = '';
  7.  
  8. function __construct(){
  9. $this->connect();
  10. }
  11.  
  12. function connect(){
  13. mysql_connect($this->host,$this->user,$this->pass) or die ($this->error());
  14. mysql_select_db($this->dbname)or die ($this->error());
  15. }
  16.  
  17. function error(){
  18. echo &#092;"error\";
  19. error_log(&#092;"Błąd na stronie\", 1, \"admin@admin.pl\",\"Subject:błąd:From:eroor class\");
  20. }
  21.  
  22. //  chodzi mi o to czy to robi sie tak
  23.  function __destruct(){
  24.  $this->connect();
  25. }
  26. //czy poprostu wywoluje sie sama funkcje __destruct i po sprawie??
  27. }
  28. ?>

dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(eS... @ 2004-12-30 10:50:30)
nie ja je chce tam zniszczyc |:->

Jeżeli wydaje ci się że umieszczając coś takiego w destruktorze :
  1. <?php
  2. function __destruct()
  3. {
  4. $this->connect();
  5. }
  6. ?>


a potem robiąc :
  1. <?php
  2. unset( $objObiekt );
  3. ?>


zniszczysz połączenie z bazą danych, to jesteś w błedzie.

Owszem unset'em zniszczysz obiekt, ale nie zamkniesz połączenia z bazą utworzonego przez ten obiekt.
Dlatego musisz zrobić tak :
  1. <?php
  2. function __destruct()
  3. {
  4. $this->close();
  5. }
  6. ?>
.
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: 8.10.2025 - 02:49