![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Mushu |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 20.7.2004 Репутация: -2 Всего: -5 |
Перерыл книжки там не чего путного не нашел. У меня появились несколько вопросов :
1. как узнать сколько ссылок есть на данный обьект ? 2. как удалить эти ссылки 3. как вызвать деструктор в любом месте скрипта, разуметься после создание данного объекта, но не после завершение выполнение скрипта. Я тут набросал пример в котором мне не получается удалить объект.
когда уничтожаем обьект unset($a[2]); на него остается еще ссылка в manager->mass_obj (а мы знаем что пхп __destruct() запустит тока тогда когда будут уничтожены все ссылки ), а если будут еще обьект. вот как раз хотел спросить как узнать сколько ссылок есть на уничтожающий объект ? Это сообщение отредактировал(а) Mushu - 25.5.2009, 16:03 |
|||
|
||||
gta4kv |
|
||||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
![]() ![]() ![]() извините за оффтоп |
||||
|
|||||
Mushu |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 20.7.2004 Репутация: -2 Всего: -5 |
Где именно ? Если в __destruct() то до этого участка кода всеравно не доходит. Это сообщение отредактировал(а) Mushu - 25.5.2009, 16:00 |
||||||
|
|||||||
Mushu |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 20.7.2004 Репутация: -2 Всего: -5 |
Есть предложение ?
|
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
не понятно, откуда manager->mass_obj , если объект уничтожен. какая связь manager->mass_obj и $a[2]?
|
|||
|
||||
Mushu |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 20.7.2004 Репутация: -2 Всего: -5 |
В том то и дело что он не уничтожен.
|
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
исходя из чего сделан такой вывод?
|
|||
|
||||
Mushu |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 20.7.2004 Репутация: -2 Всего: -5 |
Идеи есть ? по уборке мусора ?
|
|||
|
||||
Mushu |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 20.7.2004 Репутация: -2 Всего: -5 |
при отладки
|
|||
|
||||
youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
по поводу кода: а если error_reporting(E_ALL); ini_set("display_errors", 1); добавить?
практическая ситуация, в которой это нужно? В данном случае лучше уничтожать объекты через менеджер, добавлять тоже лучше в менеджере, а не в конструкторе объекта - ты создаешь ненужные зависимости между объектами (высокая связанность/high coupling), а лучше их избегать Это сообщение отредактировал(а) youri - 28.5.2009, 05:00 |
|||
|
||||
Serkys |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 4 Всего: 22 |
Вы, видимо, в PHP с C++ пришли.
В PHP5 отлично работает Garbage Collector, который сам удаляет объекты, на которые больше нет ссылок. К сожалению, от цикличных ссылок это не спасает (пока - в PHP5.3 проблема решена), но они встречаются редко. |
|||
|
||||
Mushu |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 20.7.2004 Репутация: -2 Всего: -5 |
спс Я как раз думал о манагере обьектов, но как я понял в пхх еще нет данных инструментов, чтоб можно было посмотреть кто на кого ссылается.
|
|||
|
||||
youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
это обычно не нужно... по-крайней мере, я такие ситуации не придумал
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |