Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Как коректно удалить обьект. |
Автор: Mushu 25.5.2009, 10:23 | ||
Перерыл книжки там не чего путного не нашел. У меня появились несколько вопросов : 1. как узнать сколько ссылок есть на данный обьект ? 2. как удалить эти ссылки 3. как вызвать деструктор в любом месте скрипта, разуметься после создание данного объекта, но не после завершение выполнение скрипта. Я тут набросал пример в котором мне не получается удалить объект.
когда уничтожаем обьект unset($a[2]); на него остается еще ссылка в manager->mass_obj (а мы знаем что пхп __destruct() запустит тока тогда когда будут уничтожены все ссылки ), а если будут еще обьект. вот как раз хотел спросить как узнать сколько ссылок есть на уничтожающий объект ? |
Автор: gta4kv 25.5.2009, 15:17 | ||||
![]() ![]() ![]() извините за оффтоп |
Автор: Mushu 25.5.2009, 15:59 | ||||||
Где именно ? Если в __destruct() то до этого участка кода всеравно не доходит. |
Автор: Mushu 26.5.2009, 12:22 |
Есть предложение ? |
Автор: bars80080 26.5.2009, 14:12 |
не понятно, откуда manager->mass_obj , если объект уничтожен. какая связь manager->mass_obj и $a[2]? |
Автор: Mushu 26.5.2009, 16:59 |
В том то и дело что он не уничтожен. |
Автор: bars80080 26.5.2009, 17:44 |
исходя из чего сделан такой вывод? |
Автор: Mushu 27.5.2009, 15:24 |
Идеи есть ? по уборке мусора ? |
Автор: Mushu 27.5.2009, 15:24 |
при отладки |
Автор: Serkys 28.5.2009, 09:58 |
Вы, видимо, в PHP с C++ пришли. В PHP5 отлично работает Garbage Collector, который сам удаляет объекты, на которые больше нет ссылок. К сожалению, от цикличных ссылок это не спасает (пока - в PHP5.3 проблема решена), но они встречаются редко. |
Автор: Mushu 28.5.2009, 15:47 |
спс Я как раз думал о манагере обьектов, но как я понял в пхх еще нет данных инструментов, чтоб можно было посмотреть кто на кого ссылается. |
Автор: youri 28.5.2009, 15:56 |
это обычно не нужно... по-крайней мере, я такие ситуации не придумал |