3

我正在尝试将JMSSerializerBundle用于 Symfony3(刚刚发布)。

这些是我在我的TestController.php

use JMS\Serializer\Serializer; use JMS\Serializer\SerializerBuilder; use JMS\Serializer\SerializationContext;

我试过$data = $this->get('jms_serializer')->serialize($data, 'json');where$data只是一个简单的对象,但得到以下错误:

Attempted to call an undefined method named "get" of class "AppBundle\Controller\TestController"

我还尝试了网站上的一个使用示例$serializer = $container->get('jms_serializer');,但是得到Notice: Undefined variable: container

我对 Symfony3 及其捆绑包还很陌生,似乎找不到任何关于 symfony 3 的 JMS Serializer 的文档

我可以像这样初始化它,这样$serializer = SerializerBuilder::create()->build();我就可以调用该serialize方法,但我想知道正确的“symfony 方式”。

如果有人能分享一些知识,那就太好了。谢谢!

4

1 回答 1

1

为了在你的控制器中使用容器,你的控制器必须扩展 Symfony\Bundle\FrameworkBundle\Controller\Controller 或者至少使用 Symfony\Component\DependencyInjection\ContainerAware,

无论如何,如果您想开始在 Symfony 中进行开发,我建议您开始阅读错误消息,在这种特定情况下,您的错误非常清楚。

于 2016-01-08T20:35:27.753 回答