У меня сложная иерархия вложенных объектов со всеми дочерними объектами (хранится массив объектов в родительском классе), содержащим свойство, ссылающееся на их родительский объект: довольно простое и понятное, без реальных проблем.Если я сделаю var_dump любого объекта в иерархии, я получу рекурсивную ссылку в дампе, именно так, как я ожидал.
FIRSTGEN
_children array of objects of type SECONDGEN
SECONDGEN #1
_parent object of type FIRSTGEN
_children array of objects of type THIRDGEN
THIRDGEN #1
_parent object of type SECONDGEN
THIRDGEN #2
_parent object of type SECONDGEN
SECONDGEN #2
_parent object of type FIRSTGEN
_children array of objects of type THIRDGEN
THIRDGEN #3
_parent object of type SECONDGEN
Я недавно добавил некоторые новые элементы в эту иерархиюи они не следуют совершенно той же схеме.Они хранятся в массиве объектов в родительском элементе верхнего уровня, но содержат свойство, связывающее их не с их родителем, а с родным братом.Когда я делаю var_dump сейчас, я получаю «Неустранимая ошибка: слишком глубокий уровень вложенности - рекурсивная зависимость?».
FIRSTGEN
_children_1 array of objects of type SECONDGEN_1
SECONDGEN_1 #1
_parent object of type FIRSTGEN
_children array of objects of type THIRDGEN
THIRDGEN #1
_parent object of type SECONDGEN_1
THIRDGEN #2
_parent object of type SECONDGEN_1
SECONDGEN_1 #2
_parent object of type FIRSTGEN
_children array of objects of type THIRDGEN
THIRDGEN #3
_parent object of type SECONDGEN_1
_children_2 array of objects of type SECONDGEN_2
SECONDGEN_2 #1
_parent object of type SECONDGEN_1
Все остальное в коде работает правильно, за исключением этого var_dump ().Я попытался создать более простой пример, чтобы продемонстрировать проблему, чтобы я мог привести пример при задании этого вопроса;но я не смог воспроизвести его в коротком тесте, только в моем более сложном коде.
Я знаю, что решение состоит в том, чтобы реорганизовать отношения так, чтобы мой массив _children_2 объектов SECONDGEN_2 содержался в соответствующемSECONDGEN_1 родитель, что делает родительские отношения "правильными" ... Я уже начал это делать.Однако я заинтригован этой ошибкой и удивился, если кто-то еще сталкивался с ней (и как вы справились с ней самостоятельно).