如何在 Symfony3 中初始化 JMS 序列化程序?
How to Initialize JMS Serializer in Symfony3?
我正在尝试将 JMSSerializerBundle 用于 Symfony3(刚刚发布)。
这些是我在 TestController.php
中加载的命名空间
use JMS\Serializer\Serializer;
use JMS\Serializer\SerializerBuilder;
use JMS\Serializer\SerializationContext;
我试过 $data = $this->get('jms_serializer')->serialize($data, 'json');
其中 $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 = SerializerBuilder::create()->build();
初始化它,这样我就可以调用 serialize
方法,但我想知道正确的 "symfony way" 方法。
如果有人能分享一些知识,那就太好了。谢谢!
为了在您的控制器中使用容器,您的控制器必须扩展 Symfony\Bundle\FrameworkBundle\Controller\Controller 或至少
使用 Symfony\Component\DependencyInjection\ContainerAware、
无论如何,如果你想在 Symfony 中开始开发,我建议你开始阅读错误消息,在这种特定情况下,你的错误非常清楚。
我正在尝试将 JMSSerializerBundle 用于 Symfony3(刚刚发布)。
这些是我在 TestController.php
use JMS\Serializer\Serializer;
use JMS\Serializer\SerializerBuilder;
use JMS\Serializer\SerializationContext;
我试过 $data = $this->get('jms_serializer')->serialize($data, 'json');
其中 $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 = SerializerBuilder::create()->build();
初始化它,这样我就可以调用 serialize
方法,但我想知道正确的 "symfony way" 方法。
如果有人能分享一些知识,那就太好了。谢谢!
为了在您的控制器中使用容器,您的控制器必须扩展 Symfony\Bundle\FrameworkBundle\Controller\Controller 或至少 使用 Symfony\Component\DependencyInjection\ContainerAware、
无论如何,如果你想在 Symfony 中开始开发,我建议你开始阅读错误消息,在这种特定情况下,你的错误非常清楚。