Ölümcül hata: çok derin Yerleştirme seviyesi - recursive bağımlılık?

0 Cevap php

Hiçbir gerçek sorunları ile, oldukça basit ve kolaydır: Geri kendi ana bağlayan bir özellik içeren (üst sınıf nesneleri dizisi saklanan) tüm alt nesneleri ile, iç içe nesnelerin karmaşık bir hiyerarşi var. Ben hiyerarşisindeki herhangi bir nesnenin bir var_dump yaparsanız, ben beklediğiniz tam olarak, çöplükte bir özyinelemeli başvuru alırsınız.

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

Geçenlerde o hiyerarşi bazı yeni unsurlar ekledik ve onlar oldukça aynı desen takip etmiyorum. Onlar üst düzey ebeveyn nesnelerin bir dizi saklanan değil, ebeveyni, ama bir kardeş, onları geri bağlantı bir özellik içerirler. Ben şimdi bir var_dump yaptığınızda, ben bir "Ölümcül hata: Yuvalama seviye çok derin - recursive bağımlılık" olsun.

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

Kod içinde her şey o var_dump () hariç, düzgün çalışır. Bu soruyu sorarken ben bir örnek verebilir ki ben, sorunu göstermek için basit bir örnek oluşturma denedim; ama sadece benim daha karmaşık kodu içinde, kısa bir test bunu çoğaltmak mümkün olmamıştır.

I know that the solution is to refactor the relationship so that my _children_2 array of SECONDGEN_2 objects is held in the appropriate SECONDGEN_1 parent, making the parent relationship "correct"... I've already started doing this. However, I'm intrigued by the error, and wondered if anybody else had encountered it (and how you dealt with it yourself).

0 Cevap