2012-04-16 73 views
3

我們正在運行建立在Zend框架1.x中的頂級項目,並且正在考慮轉移到Symfony的2.我們有一個原則2.操作參數和學說實體Symfony的2

我們映射域模型(定製)控制器基類繼承化Zend_Controller_Action提供了非常方便的功能,從FLOW3啓發:

比方說,我有這樣的控制器:

class UserController extends BaseController 
{ 
    public function editAction(User $user) 
    { 
     // ... 
    } 
} 

如果我加載此網址:

/user/edit?user=123 

基本控制器將自動加載標識爲123的用戶實體,並將其作爲參數傳遞給editAction()方法。 如果省略了用戶參數,或者沒有具有此標識的用戶存在,則會引發異常。

Symfony 2是否有這樣的實現,或者是否有可能實現它,以及如何實現?

回答

3

@ParamConverter annotationSensioFrameworkExtraBundle確實如此。如果你使用的是Symfony標準版本,你可以直接使用它。

+0

看起來不錯,謝謝!然而,它不完全一樣,因爲$ post是填充了匹配'id'參數的Post,並且必須在路由器中配置。而我想要的是所有GET參數的自動映射,名稱與方法簽名相匹配。路由在別處完成。任何想法? – Benjamin 2012-04-16 17:51:29