Я пытаюсь использовать 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» делать это.
Если кто-то может пролить немного знаний, это было бы здорово. Спасибо!
чтобы использовать контейнер в вашем контроллере, ваш контроллер должен расширять Symfony \ Bundle \ FrameworkBundle \ Controller \ Controller или, по крайней мере,
используйте Symfony \ Component \ DependencyInjection \ ContainerAware,
В любом случае, если вы хотите начать разработку в Symfony, я предлагаю вам начать читать сообщения об ошибках, в этом конкретном случае ваши ошибки очень ясны.
Других решений пока нет …