![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Nieautoryzowani Postów: 42 Pomógł: 0 Dołączył: 15.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam pewien problem z destruktorem. Problem wygląda następująco: Wywołuje się front_controller i w nim są ładowane klasy z biblioteki. Potem akcja rozgrywa się w modelu. Tam wszystko pięknie działa wszystkie klasy są dostępne. Potem tworzę w nim nowy obiekt klasy X. wywołuję funkcję publiczną tego obiektu i kończę akcje. W destruktorze klasy X jest wykonywana pewna funkcja która wymaga innych klas z biblioteki. Jednak destruktor ten już ich nie widzi. Metoda wywoływana na tym obiekcie może być nawet pusta a i tak straci się biblioteka (ale tylko w obrębie tej klasy). Gdy po prostu stworze obiekt klasy X i nie wywołam na nim żadnej metody to w destruktorze dalej dostępne są klasy z biblioteki. Na prawdę nie wiem jaki może być tego powód. Bardzo proszę o jakieś porady. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Nie wiem dlaczego używam php 5.3.2 a tam jest lepszy GC, wiec moze to wynikac z wersji php. Po prostu gc mógł uznać, że obiekt będzie ci niepotrzebny wcześniej i destruktor wykonał się wcześniej.
Ten post edytował wookieb 18.05.2010, 18:09:04 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 00:27 |