我们正在运行一个构建在 Zend Framework 1.x 之上的项目,并且正在考虑迁移到 Symfony 2。我们有一个使用 Doctrine 2 映射的域模型。
我们的(定制的)基本控制器类扩展了 Zend_Controller_Action 以提供一个非常方便的特性,灵感来自 Flow3:
假设我有这个控制器:
class UserController extends BaseController
{
public function editAction(User $user)
{
// ...
}
}
如果我加载此 URL:
/user/edit?user=123
基本控制器将自动加载标识为 123 的 User 实体,并将其作为参数传递给 editAction() 方法。如果省略 user 参数,或者不存在具有此身份的用户,则会引发异常。
Symfony 2 是否有这样的实现,或者是否有可能实现它,以及如何实现?