错误是ServiceNotFoundException:服务“jms_serializer.metadata_driver”依赖于不存在的服务“doctrine”。
我在composer.json中的配置:
“jms / serializer-bundle”:“dev-master”, “jms / di-extra-bundle”:“dev-master”
出了什么问题?
答案 0 :(得分:1)
您是否将默认对象构造函数别名为DoctrineObjectConstructor
? E.g。
jms_serializer.object_constructor:
alias: jms_serializer.doctrine_object_constructor
如果你是,DoctrineObjectConstructor
似乎假定使用Doctrine的ORM解决方案,而不是像MongoDB那样的ODM解决方案。另一位用户评论了DoctrineObjectConstructor
与MongoDB here的使用情况。
总之,您需要使用DoctrineObjectConstructor
而不是doctrine_mongodb
重新定义doctrine
,例如:
jms_serializer.doctrine_object_constructor:
class: %jms_serializer.doctrine_object_constructor.class%
public: false
arguments: ["@doctrine_mongodb", "@jms_serializer.unserialize_object_constructor"]
即使问题与DoctrineObjectConstructor
没有明确相关,您也可能会发现上述解决方案可以转换为服务或对象,从而导致配置出现问题。