2012-12-17 42 views
2

我安裝了FOSRestBundle,但它需要JMSSerializerBundle安裝JMSSerializerBundle

我在DEPS添加的下一行:

[JMSSerializerBundle] 
    git=git://github.com/schmittjoh/JMSSerializerBundle.git 
    target=bundles/JMS/SerializerBundle 

這解釋瞭如何做到這一點:http://jmsyst.com/bundles/JMSSerializerBundle/master/installation

但是當我嘗試$php bin/vendors install它爲我的錯誤:

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

回答

4

手冊說,它註冊到內核的包:

但安裝程序創建的文件夾:vendor/bundles/JMS/SerializerBundle

所以,它必須在下一行添加到AppKernel.php代替其他的:

new JMS\SerializerBundle\JMSSerializerBundle($this), 
2

您是否也從手冊中執行以下步驟?聽起來像你對我沒

new JMS\Serializer\JMSSerializerBundle($this) 

添加行AppKernel.php

+0

,如果我這樣做,它顯示了這個錯誤:PHP的致命錯誤:類「JMS \串行\ JMSSerializerBundle」不../app/AppKernel.php找到第21行 – Sadiel

+1

這可能是因爲您沒有使用自動加載器註冊名稱空間。就像它在安裝說明中所說的那樣。 – mattsches

+0

我認爲mattsches是正確的,你沒有按照手冊中的所有步驟。 – w1cked

4

你應該發表意見new FOS\RestBundle\FOSRestBundle(),AppKernel.phpregisterBundles()方法。然後安裝JmsSerializerBundle,之後您應該修改該行並註冊JsmSerializerBundle

+0

我在開始時做了這個, t工作,它顯示錯誤 – Sadiel