![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Czy w PHP obiekt może usunąć się sam? unset($this); nie działa ![]() Z manuala: It is not possible to unset $this inside an object method since PHP 5. A jak można to zrobić inaczej? Ten post edytował ayeo 15.04.2008, 11:45:39 -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 155 Pomógł: 9 Dołączył: 26.01.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A próbowałeś dopisać destruktor do klasy?
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Z tego co wiem, nie jest to możliwe. Zresztą... do czego byłoby Ci to potrzebne?
-------------------- XMPP: l0ud@chrome.pl
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
@l0ud, do niczego nie jest mi to w sumie potrzebne. Pytam czysto hipotetycznie. unset($this); usuwa tylko referencję do tego obiektu. :/
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 463 Pomógł: 49 Dołączył: 27.12.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Obiekty usuwaj sie same ;] mozesz to zaobserowawac dodajac desruktor jest on wywolywany kiedy obiekt przestaje istniec wiec jest kasowany ;]
np :
link Ten post edytował Piniek 15.04.2008, 13:33:34 -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
bo u mnie unset zadzialalo ![]() -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Chodzi mi o usuwanie obiektu z jego wnętrza.
-------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
no to desctructorem, inaczej (tak mi sie wydaje) nie da
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
przy pewnych ograniczeniach - da się. zakładając, że wszystkie instancje obiektu przypisane są do jakichś zmiennych globalnych (a to częsta sytuacja), w metodzie kasującej można zastosować procedurę:
1. pobrać nazwę własnej klasy. 2. przeszukać tablicę globals i wyłuskać wszystkie wpisy które są instancjami naszej klasy. 3. przelecieć się po wszystkich pasujących funkcją unset() 4. po skasowaniu ostatniejinstancji obiekt zostaje zniszczony (wywołuje się destruktor - sprawdzałem). powodzenia. -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
@nevt, dziękuję bardzo za wskazówki! Pozdrawiam!
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 09:06 |