2012-04-16 4 views
3

Мы бежим проект, построенный на вершине Zend Framework 1.x, и с учетом перехода на Symfony 2. Мы имеем модель домена переведенную с доктриной 2.параметров Action & Doctrine объекты в Symfony 2

Наших (по индивидуальному заказу) базовый класс контроллера расширяет Zend_Controller_Action, чтобы обеспечить очень удобную функцию, вдохновленный от FLOW3:

Допустим, у меня есть этот контроллер:

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

Если я загрузить этот URL:

/user/edit?user=123 

Базовый контроллер автоматически загрузит объект User с идентификатором 123 и передаст его как параметр в метод editAction(). Если параметр пользователя опущен или если пользователь с этим идентификатором не существует, генерируется исключение.

Есть ли такая реализация для Symfony 2, или это возможно реализовать и как?

ответ

3

@ParamConverter annotation от SensioFrameworkExtraBundle делает именно это. Если вы используете дистрибутив Symfony Standard, вы получаете его из коробки.

+0

Выглядит хорошо, спасибо! Однако это не совсем то же самое, что $ post заполняется Post, соответствующей параметру id, и это должно быть настроено в маршрутизаторе. В то время как то, что я пытаюсь получить, является автоматическое сопоставление всех параметров GET с именем, соответствующим сигнатуре метода. Маршрутизация выполняется в другом месте. Есть идеи? – Benjamin

Смежные вопросы