Прошлой ночью мое веб-приложение умерло, и пользователю был возвращен белый экран. Выяснение причины не заняло много времени: PHP
не хватало памяти.
После отслеживания проблемы я пришел к выводу, что JMS Serializer
не справляется с циклом сериализации.
У меня есть класс ProductGroup
, который имеет количество объектов Product
(список). Теперь каждый Product
относится к группе, к которой он принадлежит. Итак, когда пользователь пытается сериализовать ProductGroup
, он делает это, а затем переходит к сериализации каждого Product
, когда он возвращается к ProductGroup
(который был только что сериализован), эффективно создавая цикл сериализации.
Мне удалось это исправить, но я поместил @Exclude
в свойство Product::group
.
Итак, вопрос в следующем: есть ли у меня другой вариант, когда дело доходит до сериализации? Возможно ли, что JMS Serializer
не способен разобраться в петле?