Symfony 安装JMSSerializerBundle

Symfony 安装JMSSerializerBundle,symfony,fosrestbundle,symfony-2.0,Symfony,Fosrestbundle,Symfony 2.0,我安装了FOSRestBundle,但它需要JMSSerializerBundle 我在我的deps中添加了以下几行: [JMSSerializerBundle] git=git://github.com/schmittjoh/JMSSerializerBundle.git target=bundles/JMS/SerializerBundle 这里介绍了如何执行此操作: 但是当我尝试$php bin/vendors install时,它显示了一个错误: [InvalidArg

我安装了
FOSRestBundle
,但它需要
JMSSerializerBundle

我在我的deps中添加了以下几行:

[JMSSerializerBundle]
    git=git://github.com/schmittjoh/JMSSerializerBundle.git
    target=bundles/JMS/SerializerBundle
这里介绍了如何执行此操作:

但是当我尝试
$php bin/vendors install
时,它显示了一个错误:

[InvalidArgumentException]                                          
  The service definition "jms_serializer.serializer" does not exist.  

您是否也执行了手册中的以下步骤?听起来好像你没有加上这句话

new JMS\Serializer\JMSSerializerBundle($this)

对于AppKernel.php

您应该注释
registerBundles()
方法中
AppKernel.php
中的
新FOS\RestBundle\FOSRestBundle(),
行。然后安装
JmsSerializerBundle
,然后您应该取消该行的编码并注册
JsmSerializerBundle

,手册中说要向内核注册捆绑包:

new JMS\Serializer\JMSSerializerBundle($this),
但是安装程序创建文件夹:
vendor/bundles/JMS/SerializerBundle

因此,它必须添加到AppKernel.php的下一行,而不是另一行:

new JMS\SerializerBundle\JMSSerializerBundle($this),

如果我这样做,它会显示以下错误:PHP致命错误:在第21行的../app/AppKernel.PHP中找不到类“JMS\Serializer\JMSSerializerBundle”,这可能是因为您没有向自动加载程序注册名称空间。就像安装说明中所说的。我认为mattsches是对的,您没有按照手册中的所有步骤进行操作。我在
app/AppKernel.php
文件中有
JMSSecurityExtraBundle
我一开始就安装了
JMSSecurityExtraBundle
,但它不起作用,这表明了错误