Как инициализировать сериализатор JMS в 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 и его комплектах и ​​не могу найти документацию по JMS Serializer для Symfony 3

Я могу инициализировать это так $serializer = SerializerBuilder::create()->build(); что позволяет мне позвонить serialize метод, но я хотел бы знать правильный «способ Symfony» делать это.

Если кто-то может пролить немного знаний, это было бы здорово. Спасибо!

3

Решение

чтобы использовать контейнер в вашем контроллере, ваш контроллер должен расширять Symfony \ Bundle \ FrameworkBundle \ Controller \ Controller или, по крайней мере,
используйте Symfony \ Component \ DependencyInjection \ ContainerAware,

В любом случае, если вы хотите начать разработку в Symfony, я предлагаю вам начать читать сообщения об ошибках, в этом конкретном случае ваши ошибки очень ясны.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]