Symfony Normalizer and ArrayCollections



我正在将ArrayCollection传递给自定义的Symfony Normalizer:

$container = new ArrayCollection();
$container->set('root', $processor->getFile());
$container->get('root')->each(function($node) {
$container->set('node', $node);
$data = $this->serializer->normalize($container);
});

该集合包含两个 Symfony Crawler 指针。指向根对象的指针和循环中的当前指针(当前节点(,因此我可以从父级和当前子级中提取数据。

现在,当我在我的(接口(supportsNormalization()函数中var_dump()这个时,我得到了 3 个单独的对象:

  1. \Doctrine\Common\Collections\ArrayCollection
  2. \Symfony\Component\DomCrawler\Crawler
  3. \圆顶

当然,我只想要我传递的对象。这是某种冒泡吗?

谢谢。

我实际上得到了所有嵌套对象。

这是Symfony的Normalizer的一个功能...当将对象传递给normalize()函数时,Symfony会递归地调用所有嵌套对象上的normalize(),直到supportsNormalization()找到匹配项。

https://github.com/symfony/serializer/blob/master/Normalizer/AbstractObjectNormalizer.php

相关内容

  • 没有找到相关文章

最新更新