Err 500 CircularReferenceException : Petite astuce pour régler les problèmes de référence circulaire dans la sérialisation Symfony
Ce n’est pas documenté, mais il est possible de définir une classe pour intercepter les alertes de références circulaires lors des sérialisations. Je le partage ici pour ne pas l’oublier.
Configuration à ajouter :
# config/packages/serializer.yaml
framework:
serializer:
circular_reference_handler: 'App\Serializer\MyCircularReferenceHandler'
Classe php de gestion de l’exception :
<?php
namespace App\Serializer;
class MyCircularReferenceHandler {
public function __invoke($object) {
return [ 'id' => $object->getId() ];
}
}
Testé et approuvé sur Symfony 5.4.9 😉