Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Usuwanie zmiennych
Matimor
post 17.08.2011, 09:30:25
Post #1





Grupa: Zarejestrowani
Postów: 287
Pomógł: 10
Dołączył: 22.08.2009

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


Witajcie. Zawsze zastanawiała mnie jedna rzecz, kiedy jest sens używać funkcji unset. Powiedzmy, że mamy taki kod:

  1. function foo()
  2. {
  3. $class = new NazwaKlasy;
  4.  
  5. $class -> bar();
  6.  
  7. unset($class);
  8. }


Czy w takim przypadku jest sens używać tej funkcji? Proszę o wypowiedzi osób bardziej obeznanych w temacie na pytanie "kiedy używać unset".


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
vee
post 17.08.2011, 10:02:22
Post #2





Grupa: Zarejestrowani
Postów: 64
Pomógł: 5
Dołączył: 16.08.2011

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


Prawdę mówiąc nigdy nie przeprowadzałem żadnych testów, jednak ja funkcji unset używam na zmiennych, do których są przypisane ogromne klasy, np. DOMDocument pracujący na obszernym pliku HTML aby nie zajmowała ona niepotrzebnie pamięci w chwili, gdy praca z ową klasą już jest zakończona.
Go to the top of the page
+Quote Post
suchyMTW
post 17.08.2011, 10:07:15
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 4
Dołączył: 4.02.2011

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


Tak jest sens usuwania

masz klasę:

  1. class Foo
  2. {
  3. public function __counstruct()
  4. {
  5. echo 'Tworzę instancję klasy';
  6. }// end function __construct()
  7.  
  8. public function bar()
  9. {
  10. echo 'jestem w funkcji bar';
  11. } //end function bar()
  12.  
  13. public function __destruct()
  14. {
  15. echo 'Usuwam instancję klasy';
  16. } // end function __destruct()
  17.  
  18. } // end class Foo


Spróbuj uruchomić, a dowiesz się po co usuwać zmienną, która jest obiektem....

Ten post edytował suchyMTW 17.08.2011, 10:07:59
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 18.07.2025 - 04:28