2013-02-18 2 views
3

Я пытаюсь использовать JMSSerializerBundle, но услуга не перечислен после запуска app/console container:debug | grep jms_serializerВы запросили несуществующий сервис «jms_serializer»

$ app/console container:debug | grep jms_serializer 
jms_serializer.json_deserialization_visitor container JMS\SerializerBundle\Serializer\JsonDeserializationVisit 
jms_serializer.json_serialization_visitor  container JMS\SerializerBundle\Serializer\JsonSerializationVisitor 
jms_serializer.metadata.lazy_loading_driver container Metadata\Driver\LazyLoadingDriver 
jms_serializer.metadata_driver    container Metadata\Driver\DriverChain 
jms_serializer.naming_strategy    container JMS\SerializerBundle\Serializer\Naming\CacheNamingStrate 
jms_serializer.xml_deserialization_visitor container JMS\SerializerBundle\Serializer\XmlDeserializationVisito 
jms_serializer.xml_serialization_visitor  container JMS\SerializerBundle\Serializer\XmlSerializationVisitor 
jms_serializer.yaml_serialization_visitor  container JMS\SerializerBundle\Serializer\YamlSerializationVisitor 

после установки

composer require jms/serializer-bundle 

и настроить

// in AppKernel::registerBundles() 
$bundles = array(
    // ... 
    new JMS\SerializerBundle\JMSSerializerBundle($this), 
    // ... 
); 

если ваш использовать в некотором месте

$this->get('jms_serializer') 

Я получаю ошибку You have requested a non-existent service "jms_serializer".

Как я могу исправить это?

ответ

3

Название услуги - сериализатор. Вы должны просто использовать следующее.

$this->get('serializer'); 
+0

'serializer' является просто псевдонимом для' jms_serializer', что отчетливо видно при запуске 'bin/console debug: container | grep serializer' – qwertz

Смежные вопросы