我正在尝试将JMSSerializerBundle用于Symfony3(它刚刚发布)。
这些是我在TestController.php
中加载的名称空间
use JMSSerializerSerializer;
use JMSSerializerSerializerBuilder;
use JMSSerializerSerializationContext;
我尝试过$data = $this->get('jms_serializer')->serialize($data, 'json');
,其中$data
只是一个简单的对象,但得到了以下错误:
Attempted to call an undefined method named "get" of class "AppBundleControllerTestController"
我还尝试了站点$serializer = $container->get('jms_serializer');
的一个用法示例,但得到了Notice: Undefined variable: container
我还是Symfony3及其捆绑包的新手,似乎找不到任何关于Symfony3的JMS序列化程序的文档
我可以像$serializer = SerializerBuilder::create()->build();
这样初始化它,这允许我调用serialize
方法,但我想知道正确的"符号方式"。
如果有人能传授一些知识,那就太好了。谢谢
为了在控制器中使用容器,控制器必须扩展Symfony\Bundle\FrameworkBundle\controller\controller或至少使用Symfony\Component\DependencyInjection\Containerware,
无论如何,如果你想在Symfony中开始开发,我建议你开始阅读错误消息,在这种特定的情况下,你的错误非常明显。