繁体   English   中英

Symfony序列化器:不建议使用setCircularReferenceHandler()

[英]Symfony Serializer: setCircularReferenceHandler() is deprecated

Symfony的(FrameworkBundle v4.2.5)序列化程序组件(v4.2.5)现在在日志中告诉我:

php.INFO: User Deprecated: The "Symfony\Component\Serializer\Normalizer\AbstractNormalizer::setCircularReferenceHandler()" method is deprecated since Symfony 4.2, use the "circular_reference_handler" key of the context instead. 

但问题是,我没有明确调用此方法。 该调用实际上是由SymfonyFrameworkBundle触发的。

我在我的framework.yaml中有这个:

serializer:
  enabled: true
  circular_reference_handler: Cbp\Utils\CircularReferenceHandler

我在FrameworkExtension(由FrameworkBundle提供)中看到了这一点:

    if (isset($config['circular_reference_handler']) && $config['circular_reference_handler']) {
        $container->getDefinition('serializer.normalizer.object')->addMethodCall('setCircularReferenceHandler', [new Reference($config['circular_reference_handler'])]);
    }

所以我的问题是:如何解决此弃用通知?

事实证明,这是文档和FrameworkExtension中的错误。

错误报告可以在这里找到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM