![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 5.11.2005 Skąd: Bieruń city Ostrzeżenie: (0%) ![]() ![]() |
mam przykładowo taki kod:
spodziewałem się takiego efektu: Cytat die B --- die A czyli unset niszczy $b, następnie wyświetlane są "---" i wraz z końcem skryptu usuwany jest obiekt $a. tymczasem wynik jest taki: Cytat --- die A die B unset w ogóle nie działa. może mi ktoś powiedzieć jak usunąć obiekt $b? z góry dziękuje za odpowiedź. EDIT: $foo musi być prywatna Ten post edytował dtb 15.02.2010, 19:25:26 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 5.11.2005 Skąd: Bieruń city Ostrzeżenie: (0%) ![]() ![]() |
ech... niepotrzebnie zaczynałem dyskusję.
przyczepiłem się tego, bo myślałem, że to proponowane przez Ciebie rozwiązanie (mój błąd - źle przeczytałem): Kod $a->unsetB(); unset($b); takie rozwiązanie oczywiście nie pasuje, bo załóżmy że mam więcej obiektów wrzuconych do $a: Kod $a->assign($button1 = new B); $a->assign($button2 = new B); $a->assign($button3 = new B); $a->assign($foo = new B); ich liczba nie jest określona. jak bym chciał usunąć obiekt $button3, to nie mogę przecież utworzyć metody unsetButton3 (i tak dla każdej potencjalnej nazwy zmiennej). to było by bez sensu. natomiast zaproponowany przez ciebie system zarządzania obiektami nie jest rozwiązaniem jakiego oczekuje, ponieważ nie chodzi mi o kolejność wykonywania destruktorów, a jedynie o możliwość usunięcia pojedynczej instancji wraz z wszystkimi jej referencjami w dowolnym miejscu w kodzie. widać źle zrozumiałeś moje intencje na samym początku. Ten post edytował dtb 22.02.2010, 01:19:15 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 11:11 |