在Symfony3.4上未调用circle_reference_handler

白熊

我在symfony3.4上使用序列化程序。

我的代码如下所示。

    $encoders = [new JsonEncoder()];
    $normalizers = [new ObjectNormalizer()];
    $serializer = new Serializer($normalizers, $encoders);
    $jsonContent = $serializer->serialize($place, 'json',[
        'circular_reference_handler' => function ($object) {
            return $object->getId();
        }
    ]);
    return new JsonResponse($place);

但是它返回这样的错误,

A circular reference has been detected when serializing the object of class "Proxies\__CG__\App\Entity\PlaceCat" (configured limit: 1)

它看起来circular_reference_handler没有调用回调。

如何启用此回调?

尼古拉·梅里

在Symfony 3.4中,循环引用处理程序是通过方法 Normalizer::setCircularReferenceHandler(callable)而不是序列化上下文选项设置的。

您需要对Symfony 3.4使用以下内容:

$encoder = new JsonEncoder();
$normalizer = new ObjectNormalizer();

$normalizer->setCircularReferenceHandler(function ($object) {
    return $object->getName();
});

$serializer = new Serializer([$normalizer], [$encoder]);

从4.2版起setCircularReferenceHandler()不推荐使用:从Symfony 4.2版起不推荐使用方法。请改用circular_reference_handler上下文键。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

appengine 上的 Symfony3 会话失败

来自分类Dev

Symfony3升级上的命名空间问题

来自分类Dev

在Symfony3中的每条路线/动作上执行功能

来自分类Dev

在 Symfony3 上阻止登录用户的登录页面

来自分类Dev

来自同一域上iframe的Symfony3 AJAX请求未保存会话属性

来自分类Dev

来自同一域上iframe的Symfony3 AJAX请求未保存会话属性

来自分类Dev

FOSUserBundle路由中未使用的Symfony3本地语言

来自分类Dev

尝试调用名为“ getpreReady”的未定义方法(Twig和Symfony3)

来自分类Dev

在每个POST上返回400错误请求-fosrestbundle,Symfony3

来自分类Dev

升级到symfony3后,heroku上的composer安装失败

来自分类Dev

提交symfony3表单时如何在子实体上设置父ID

来自分类Dev

Symfony3不读取Elastic Beanstalk上的环境变量

来自分类Dev

来自头部的元标记使用树枝模板 symfony3 进入服务器上的主体

来自分类Dev

Google App Engine Flexible 上的 Symfony3 无法连接到 Google Cloud SQL MySQL

来自分类Dev

Symfony3 FosUser 和 FosAuthServer,在 AuthenticationFailureHandler 上使用 LDAP 登录用户

来自分类Dev

Ajax与Symfony3

来自分类Dev

如何在ajax调用中将数组传递给控制器并用Symfony3返回它

来自分类Dev

在Sylius(Symfony3)上创建一个自定义资源表单:“期望的标量,但得到了数组”

来自分类Dev

Symfony3执行phpmetrics

来自分类Dev

Symfony3 Profiler存储

来自分类Dev

配置Symfony3 URL

来自分类Dev

Symfony3 扩展了 AppKernel

来自分类Dev

Symfony3服务和令牌存储

来自分类Dev

在命令Symfony3中设置详细

来自分类Dev

Symfony3从URL获取参数

来自分类Dev

使用Symfony3的API REST的结构

来自分类Dev

Symfony3:如何设置多个连接?

来自分类Dev

Symfony3:路由和缓存

来自分类Dev

set verbose in command Symfony3

Related 相关文章

  1. 1

    appengine 上的 Symfony3 会话失败

  2. 2

    Symfony3升级上的命名空间问题

  3. 3

    在Symfony3中的每条路线/动作上执行功能

  4. 4

    在 Symfony3 上阻止登录用户的登录页面

  5. 5

    来自同一域上iframe的Symfony3 AJAX请求未保存会话属性

  6. 6

    来自同一域上iframe的Symfony3 AJAX请求未保存会话属性

  7. 7

    FOSUserBundle路由中未使用的Symfony3本地语言

  8. 8

    尝试调用名为“ getpreReady”的未定义方法(Twig和Symfony3)

  9. 9

    在每个POST上返回400错误请求-fosrestbundle,Symfony3

  10. 10

    升级到symfony3后,heroku上的composer安装失败

  11. 11

    提交symfony3表单时如何在子实体上设置父ID

  12. 12

    Symfony3不读取Elastic Beanstalk上的环境变量

  13. 13

    来自头部的元标记使用树枝模板 symfony3 进入服务器上的主体

  14. 14

    Google App Engine Flexible 上的 Symfony3 无法连接到 Google Cloud SQL MySQL

  15. 15

    Symfony3 FosUser 和 FosAuthServer,在 AuthenticationFailureHandler 上使用 LDAP 登录用户

  16. 16

    Ajax与Symfony3

  17. 17

    如何在ajax调用中将数组传递给控制器并用Symfony3返回它

  18. 18

    在Sylius(Symfony3)上创建一个自定义资源表单:“期望的标量,但得到了数组”

  19. 19

    Symfony3执行phpmetrics

  20. 20

    Symfony3 Profiler存储

  21. 21

    配置Symfony3 URL

  22. 22

    Symfony3 扩展了 AppKernel

  23. 23

    Symfony3服务和令牌存储

  24. 24

    在命令Symfony3中设置详细

  25. 25

    Symfony3从URL获取参数

  26. 26

    使用Symfony3的API REST的结构

  27. 27

    Symfony3:如何设置多个连接?

  28. 28

    Symfony3:路由和缓存

  29. 29

    set verbose in command Symfony3

热门标签

归档