2013-02-28 23 views
0

有人能告訴我如何使PropelParamConverter爲Symfony2項目工作嗎? 我已經安裝了'SensioFrameworkExtraBundle'軟件包並且工作在隱式情況下(沒有控制器上方的註釋)。 但是使用這個代碼:PropelParamConverter不能正常工作

/** 
* @ParamConverter("user", class="AcmeBundle:User", options={"mapping"={"username":"username"}}) 
* @ParamConverter("gallery", class="AcmeBundle:Gallery", options={"mapping"={"id":"id"}}) 
*/ 
public function showAction(User $user, Gallery $gallery) 
{ 
    ... 
} 

我得到以下異常:

[語義錯誤]在方法的Acme \ AcmeBundle \控制器註釋 「@Sensio \包\ FrameworkExtraBundle \配置\ ParamConverter」 \ Frontend \ GalleryController :: showAction()不存在,或者無法自動加載。

似乎在Doctrine代碼(DocParse對象)中拋出異常,這讓我感到意外,因爲DoctrineBundle甚至沒有在我的AppKernel中激活!

請告訴我,如果我錯過了Symfony2/Propel/FrameworkExtra配置中的某些內容?

謝謝。

回答

0

SensioFrameworkExtraBundle附帶的ParamConverter不支持Propel,只有一個Doctrine和DataTime ParamConverter。

如果您安裝了PropelBundle(如果您使用Propel工作,您應該使用它),它將隨Propel ParamConverter一起提供。請參閱the documentation如何使用它。

+0

是的當然,但實際上PropelParamConverter從來沒有被調用,執行仍然運行在Doctrine的代碼中...... 是否有一些額外的DI配置可以使Annotation使用Propel ParamConverter? – 2013-03-01 11:11:08