Вложенные объекты: выбор родителя.

Karantir

Новичок
Вложенные объекты: выбор родителя.

Всем привет.

Есть набор вложенных объектов (каждый объект имеет свойство children представляющее собой массив объектов этого же класса, каждый из которых тоже имеет свойство children и так далее). Как получить дочерние объекты заданного объекта вполне понятно. А как обратиться к родительскому объекту в такой структуре и возможно ли такое вообще?
 

Karantir

Новичок
Вообще хорошая идея!
Только меня смущает образующаяся рекурсия... Не станет ли это потенциальным источником непонятных багов?
 

Гравицапа

elbirret elcno
Ну так сразу ничего не приходит на ум по поводу возможных багов, но я и не вижу другого пути решения этой задачи.
 

zerkms

TDD infected
Команда форума
Karantir
почему ссылка родителя на чилдрена - нормальное явление. а ссылка чилдрена на родителя - уже потенциальный источник багов.
м?
 

Karantir

Новичок
Потому что во втором случае рекурсия образуется. В принципе согласен с Гравицапой, насчет багов на ум ничего особого не приходит, просто есть смутное беспокойство. В любом случае я уже так и сделал, всем спасибо )
 

phprus

Moderator
Команда форума
zerkms
Сборщику мусора в PHP такие циклы не понравится, так как при удалении всех внешних ссылок на эти объекты счетчик ссылок на них будет не меньше 1. А именно сборщик мусора не сможет удалить объекты связанные циклическими ссылками до завершения программы.

Эта проблема очень хороше описана в книге Д. Котерова PHP5 в районе 644 страницы.
 

zerkms

TDD infected
Команда форума
phprus
имхо пхп, как язык, работающий за stateless протоколом, не очень то и нуждается в удалениях объектов в пользу освобождения памяти
 
Сверху