我将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指针。指向循环(当前节点)中的根对象和当前指针的指针,这样我就可以从父项和当前子项中提取数据。
现在,当我在我的(接口)var_dump()
函数中supportsNormalization()
时,我得到3个独立的对象:
当然,我只想要通过的对象。这有点冒泡吗?
感谢。
答案 0 :(得分:-1)
我实际上得到了所有嵌套对象。
这是Symfony的Normalizer的一个功能......当将对象传递给normalize()
函数时,Symfony会递归调用所有嵌套对象上的normalize()
,直到supportsNormalization()
找到匹配项。
https://github.com/symfony/serializer/blob/master/Normalizer/AbstractObjectNormalizer.php