![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 275 Pomógł: 32 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
potrzebuję, żeby moja statyczna metoda zwracała referencję do statycznego atrybutu, który jest tablicą, a konkretnie elementu tablicy, który znowu jest obiektem innej klasy. Obiekt ten chcę usunąć, wywołując destruktor. Tyle wstępu, teraz trochę kodu:
Niby obiekty zwracane są zawsze jako referencje, ale w wersji bez "&" też nie podziała, dlatego na próbę dopisałem. Wiem też, że nie przeszadza to, że atrybut wykobot::$channels jest prywatny, ma tak działać. Jeżeli w wykobot::getChannelByName przed returnem wstawimy unset($channel['obj']) to podziała jak trzeba, tj jedyny output jaki dostaniemy to "destruktor!". Ten post edytował varez 9.01.2011, 10:51:11 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Obiekty zawsze są zwracana i przekazywane jako parametry przez referencję. Funkcja unset usuwa referencję do zmiennej, nie samą zmienną. Zmienna zostanie usunięta przez gc gdy wszystkie referencje do danej zmiennej zostaną usunięte lub wypadną poza zakres. Zrób sobie metodę wykobot::removeChannel($name).
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 23:45 |