(Je n'ai jamais fait d'objet en PHP, je répond au hasard)
Ton problème vient visiblement de la fonction de sérialization, pas de la récursivité de tes objets en elle même. Je suppose que la sérialisation ne gère pas les références des objets, et se contente de "les déplier" récursivement. C'est le même problème que pour faire une fonction "clone" qui duplique un objet "entièrement", et pas juste ses références vers d'autres variables.
Tu peux contourner le problème en codant toi-même une fonction de (dé)sérialization pour A et B: en sérializant A tu lui attribues un identifiant unique, et en sérialisant B tu identifies son parent avec cet identifiant unique au lieu de le re-sérializer.
Je ne sais pas s'il existe une manière plus propre de faire ça en PHP.
# valeur ou référence
Posté par Yusei (Mastodon) . En réponse au message Récursivité entre deux objets (PHP). Évalué à 4.
Ton problème vient visiblement de la fonction de sérialization, pas de la récursivité de tes objets en elle même. Je suppose que la sérialisation ne gère pas les références des objets, et se contente de "les déplier" récursivement. C'est le même problème que pour faire une fonction "clone" qui duplique un objet "entièrement", et pas juste ses références vers d'autres variables.
Tu peux contourner le problème en codant toi-même une fonction de (dé)sérialization pour A et B: en sérializant A tu lui attribues un identifiant unique, et en sérialisant B tu identifies son parent avec cet identifiant unique au lieu de le re-sérializer.
Je ne sais pas s'il existe une manière plus propre de faire ça en PHP.